[RESOLU] Problème WebScript

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-13-2012 04:51 AM
Bonjour à tous.
Je suis débutant, j'essaie dans le cadre de mon stage de fin d'études de développer une application connectée à Alfresco, pour gérer différents documents de normes de facteurs humains (ergonomie, erreurs humaines…) pour la maintenance d'avions.
Je me suis inspiré du projet Opsoro pour développer mon interface, avec une arborescence pour les documents, un moteur de recherche etc…. Et en ce moment je suis entrain de m'attaquer aux webscripts, dont je n'ai pas encore bien cerné le fonctionnement.
J'ai un webscript simple pour commencer, qui doit récupérer la liste des documents stockés dans company_home sous forme de XML. mon webscript est bien installé, en allant sur localhost:8090/alfresco/service/ mon webscript apparait, mais quand je regarde dans GET /alfresco/service …le fichier XML généré ne contient qu'une seule balise, <items-list/> , alors que je devrais avoir un résultat comme ça :
Je ne sais pas du tout pourquoi j'ai ce résultat.
Voici le code de ma classe Java.
Merci beaucoup pour votre aide.
Je suis débutant, j'essaie dans le cadre de mon stage de fin d'études de développer une application connectée à Alfresco, pour gérer différents documents de normes de facteurs humains (ergonomie, erreurs humaines…) pour la maintenance d'avions.
Je me suis inspiré du projet Opsoro pour développer mon interface, avec une arborescence pour les documents, un moteur de recherche etc…. Et en ce moment je suis entrain de m'attaquer aux webscripts, dont je n'ai pas encore bien cerné le fonctionnement.
J'ai un webscript simple pour commencer, qui doit récupérer la liste des documents stockés dans company_home sous forme de XML. mon webscript est bien installé, en allant sur localhost:8090/alfresco/service/ mon webscript apparait, mais quand je regarde dans GET /alfresco/service …le fichier XML généré ne contient qu'une seule balise, <items-list/> , alors que je devrais avoir un résultat comme ça :
<items-list><item name="Espace invité"/><item name="Dictionnaire de données"/><item name="Sites"/><item name="Espaces Utilisateurs"/><item name="Human Factors"/></items-list>
Je ne sais pas du tout pourquoi j'ai ce résultat.
Voici le code de ma classe Java.
import java.io.IOException;import java.io.OutputStream;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerException;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.alfresco.model.ContentModel;import org.alfresco.service.cmr.model.FileFolderService;import org.alfresco.service.cmr.repository.NodeRef;import org.alfresco.service.cmr.repository.NodeService;import org.alfresco.service.cmr.repository.StoreRef;import org.alfresco.service.cmr.search.ResultSet;import org.alfresco.service.cmr.search.SearchService;import org.springframework.extensions.webscripts.AbstractWebScript;import org.springframework.extensions.webscripts.Format;import org.springframework.extensions.webscripts.WebScriptException;import org.springframework.extensions.webscripts.WebScriptRequest;import org.springframework.extensions.webscripts.WebScriptResponse;import org.w3c.dom.Document;import org.w3c.dom.Element;public class getdocument extends AbstractWebScript{ /** * Content type. */ private static final String CONTENT_TYPE = Format.XML.mimetype() + ";charset=UTF-8"; @Override public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException { // TODO Auto-generated method stub String request = "PATH:\"/app:company_home/*\""; ResultSet resulset = searchService.query(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, SearchService.LANGUAGE_LUCENE, request); try { res.setContentType(CONTENT_TYPE); OutputStream out = res.getOutputStream(); DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); // root elements Document doc = docBuilder.newDocument(); Element rootElement = doc.createElement("items-list"); doc.appendChild(rootElement); for (NodeRef iNoderNodeRef : resulset.getNodeRefs()) { Element elt = doc.createElement("item"); elt.setAttribute("name", (String) nodeService.getProperty(iNoderNodeRef, ContentModel.PROP_NAME)); rootElement.appendChild(elt); } // write the content on the XML stream TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(out); transformer.transform(source, result); } catch (ParserConfigurationException pce) { throw new WebScriptException("exception", pce); } catch (TransformerException tfe) { throw new WebScriptException("exception", tfe); } } private NodeService nodeService; private SearchService searchService; private FileFolderService fileFolderService; /** * @return the nodeService */ public NodeService getNodeService() { return nodeService; } /** * @param nodeService * the nodeService to set */ public void setNodeService(NodeService nodeService) { this.nodeService = nodeService; } /** * @return the searchService */ public SearchService getSearchService() { return searchService; } /** * @param searchService * the searchService to set */ public void setSearchService(SearchService searchService) { this.searchService = searchService; } /** * @return the fileFolderService */ public FileFolderService getFileFolderService() { return fileFolderService; } /** * @param fileFolderService * the fileFolderService to set */ public void setFileFolderService(FileFolderService fileFolderService) { this.fileFolderService = fileFolderService; }}
Merci beaucoup pour votre aide.
Labels:
- Labels:
-
Archive
2 REPLIES 2

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-14-2012 04:14 AM
Bonjour,
Avez-vous débuggué votre classe java pour identifier d'où vient l'erreur ?
Voir : http://alfresco-france.blogspot.fr/search/label/Debug
Avez-vous débuggué votre classe java pour identifier d'où vient l'erreur ?
Voir : http://alfresco-france.blogspot.fr/search/label/Debug

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-14-2012 05:04 AM
Merci pour votre réponse.
J'ai finalement réglé le problème. J'avais une requête Lucene alors que mon Alfresco utilisait Solr. J'ai donc remis Lucene dans alfresco.global-proprieties et ça marche maintenant.
J'ai finalement réglé le problème. J'avais une requête Lucene alors que mon Alfresco utilisait Solr. J'ai donc remis Lucene dans alfresco.global-proprieties et ça marche maintenant.
