j'ai une routine à écrire : exploration d'un espace et soumission du contenu de chaque document à un analyseur sémantique (l'analyseur sémantique est accessible à travers un web service (donc appel classe java) ).
1) J'ai l'intuition que la solution passe par un "java backed web script" et non par un webscript javascript : qu'en pensez vous ? (il y a notamment des préoccupations de volumes, et donc de performances)
// extract folder listing arguments from URI String verboseArg = req.getParameter("verbose"); Boolean verbose = Boolean.parseBoolean(verboseArg); Map<String, String> templateArgs = req.getServiceMatch().getTemplateVars(); String folderPath = templateArgs.get("folderpath"); String nodePath = "workspace/SpacesStore/" + folderPath; NodeRef folder = repository.findNodeRef("path", nodePath.split("/")); // validate that folder has been found if (folder == null) { throw new WebScriptException(Status.STATUS_NOT_FOUND, "Folder " + folderPath + " not found"); }
// construct model for response template to render Map<String, Object> model = new HashMap<String, Object>(); model.put("verbose", verbose); model.put("folder", folder); return model;
Sans précision complémentaire, le code 404 peut signifier :
que l'url que vous utilisez ne correspond à aucun webscript ;
que le dossier utilisé n'existe pas.
Pour savoir quelle est la bonne option, il faudrait un peu de détail sur votre webscript (fichier desc.xml en particulier) et le message de retour complet, voire les logs.
tout se passe comme si "Company%20Home" n"était pas reconnu ; l'url retournée est retranscrite en "Company Home" … et non "Company%20Home"
pour confirmer la bonne exécution du webscript, j'ai changé le message d'erreur qui est alors bien retourné avec l'erreur 404 : le webscript est donc bien reconnu
concernant les logs, les seules mentions que j'ai pu trouver de l'appel au webscript se trouvent dans une log tomcat (localhost_access_log) :
Si votre installation est faite en français, le "display name" du répertoire racine s'appelle "Espace racine" et non "Company Home". Votre webscript fonctionne-t-il en utilisant cette valeur ?
la confusion vient du fait que j'utilise d'autres webscripts natifs du style bulkload … et que j'ai eu quelques difficultés à identifier les conventions générales de nommage (je ne me suis jamais posé la question de la traduction, dans la mesure où toutes les docs que j'ai sont en anglais …); maintenant, effectivement, cela paraît logique
oui, cela marche nettement mieux avec Espace racine
une dernière question : où trouver ces conventions de nommage dans le wiki ? ou autre (…)