AnsweredAssumed Answered

Java-backed Webscripts

Question asked by loic on Jun 5, 2009
Latest reply on Jun 8, 2009 by bertrandf
Bonjour,

Je commence à me pencher sur les webscripts afin de pouvoir récupérer du contenu depuis une autre webapps et actuellement j'essaye de faire le tutoriel suivant : http://wiki.alfresco.com/wiki/Java-backed_Web_Scripts_Samples#SimpleWebScript.java

Sauf que tout ne se passe pas comme prévu :(

Voilà les étapes que j'ai suivies :

- j'ai copié/collé la classe du wiki ajouté les références nécessaires pour qu'éclipse ne me souligne plus rien en rouge et exporter ça dans un fichier jar que j'ai déposé ici > webapps\alfresco\WEB-INF\lib

- J'ai ensuite ajouté les lignes suivantes au fichier : \webapps\alfresco\WEB-INF\classes\alfresco\web-scripts-application-context.xml
(Si j'ai bien compris c'est pour que spring soit "aware" de ma nouvelle classe hein ?)

    <!– SimpleWebScript –>
    <bean id="webscript.org.alfresco.demo.simple.get" class="org.alfresco.module.demoscripts.SimpleWebScript" parent="webscript">
<property name="dictionaryService" ref="DictionaryService"/>
    </bean>

- J'ai ajouté un fichier simple.get.desc.xml dans le space suivant : Company Home/Data Dictionnary/Web Scripts. (J'ai aussi testé en le mettant dans \webapps\alfresco\WEB-INF\classes\alfresco\templates\webscripts ça marche aussi)

- Je me suis rendu à l'adresse suivante > http://localhost:8080/alfresco/service/index et j'ai "refresh" tous les webscripts. Alfresco m'en a trouvé un supplémentaire. jusque là tout va bien

Le problème est que quand je me rend à cette adresse > http://localhost:8080/alfresco/service/demo/simple j'obtiens le message suivant :

    The Web Script /alfresco/service/demo/simple has responded with a status of 500 - Internal Error.

    500 Description:   An error inside the HTTP server which prevented it from fulfilling the request.

    Message:   Web Script format '' is not registered

    bla bla bla…


Si je demande un format spécifique (http://localhost:8080/alfresco/service/demo/simple?format=json), Le serveur me répond que j'ai besoin d'un template freemarker.

Comment faire ? Est-ce le fichier de description du tuto qui n'est pas bon ? Je l'ai modifié de différentes façon sans pour autant que cela fonctionne…
Ai-je vraiment besoin d'une template freemarker ? Il n'y a rien dans le tuto disant qu'il y en ai besoin. Et même si j'en ai vraiment besoin, comment récupérer dans cette template le "contenu" généré par ma classe java ? (${response} ? ${var} ?)

Je vous remercie de bien vouloir éclairer ma lanterne :)

Outcomes