Namespace prefix kb is not mapped to a namespace URI

cancel
Showing results for 
Search instead for 
Did you mean: 
clemf
Member II

Namespace prefix kb is not mapped to a namespace URI

Bonjour à tous,

Je teste actuellement plusieurs webscripts et une erreur vient d'apparaître sur l'un d'entre-eux, je n'arrive pas à savoir pourquoi.

kb-create.get.desc.xml :

<webscript>
   <shortname>Create Knowledge Base</shortname>
   <description>Create knowledge base article for testing</description>
   <url>/slingshot/knowledgebase/create</url>
   <authentication>user</authentication>
</webscript>

kb-create.get.html.ftl :

Created ${article.name} within site 'kbtest'.

kb-create.get.js :

// establish site with document library
var doclib = null;
var site = siteService.getSite("kbtest");
if (site == null) {
   site = siteService.createSite(null, "kbtest", "KB Search Test", "KB Search Test", siteService.PUBLIC_SITE);
   doclib = site.createContainer("documentLibrary");
   site.save();
   doclib.save();
} else {
   doclib = site.getContainer("documentLibrary");
}

// create knowledge article
var article = doclib.createNode("article", "cm:content");
article.addAspect("kb:article");
article.properties["cm:name"] = "article" + doclib.children.length;
article.properties["kb:articletype"] = "FAQ";
article.content = "The attached tutorial…";
article.save();

// create model
model.article = article;

Le code d'erreur généré est le suivant :

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

Message:   04240004 Wrapped Exception (with status template): 04240006 Failed to execute script '/org/example/kb-create.get.js (in repository store workspace://SpacesStore/Espace racine/Dictionnaire de données/Extensions de script Web)': Namespace prefix kb is not mapped to a namespace URI
   
Exception:   org.alfresco.service.namespace.NamespaceException - Namespace prefix kb is not mapped to a namespace URI
   
   org.alfresco.service.namespace.QName.createQName(QName.java:101)
   org.alfresco.service.namespace.QName.createQName(QName.java:123)
   org.alfresco.repo.jscript.ScriptNode.createQName(ScriptNode.java:2902)
   org.alfresco.repo.jscript.ScriptNode.addAspect(ScriptNode.java:1824)
   org.alfresco.repo.jscript.ScriptNode.addAspect(ScriptNode.java:1802)
   sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   java.lang.reflect.Method.invoke(Method.java:597)
   org.mozilla.javascript.MemberBox.invoke(MemberBox.java:155)
   org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:243)
   org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66)
   org.mozilla.javascript.gen.c32._c0(workspace://SpacesStore/Espace racine/Dictionnaire de données/Extensions de script Web/org/example/kb-create.get.js:15)
   org.mozilla.javascript.gen.c32.call(workspace://SpacesStore/Espace racine/Dictionnaire de données/Extensions de script Web/org/example/kb-create.get.js)
   org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)
   org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834)
   org.mozilla.javascript.gen.c32.call(workspace://SpacesStore/Espace racine/Dictionnaire de données/Extensions de script Web/org/example/kb-create.get.js)
   org.mozilla.javascript.gen.c32.exec(workspace://SpacesStore/Espace racine/Dictionnaire de données/Extensions de script Web/org/example/kb-create.get.js)
   org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:472)
   org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:190)
   org.alfresco.repo.processor.ScriptServiceImpl.executeScript(ScriptServiceImpl.java:282)
   org.alfresco.repo.web.scripts.RepositoryScriptProcessor.executeScript(RepositoryScriptProcessor.java:102)
   org.springframework.extensions.webscripts.AbstractWebScript.executeScript(AbstractWebScript.java:981)
   org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:86)
   org.alfresco.repo.web.scripts.RepositoryContainer$2.execute(RepositoryContainer.java:383)
   org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:381)
   org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:436)
   org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:466)
   org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:304)
   org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:333)
   org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:189)
   org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:118)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)
   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
   org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
   org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
   org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
   java.lang.Thread.run(Thread.java:619)
   
Exception:   org.alfresco.scripts.ScriptException - 04240006 Failed to execute script '/org/example/kb-create.get.js (in repository store workspace://SpacesStore/Espace racine/Dictionnaire de données/Extensions de script Web)': Namespace prefix kb is not mapped to a namespace URI
   
   org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:194)
   
Exception:   org.springframework.extensions.webscripts.WebScriptException - 04240004 Wrapped Exception (with status template): 04240006 Failed to execute script '/org/example/kb-create.get.js (in repository store workspace://SpacesStore/Espace racine/Dictionnaire de données/Extensions de script Web)': Namespace prefix kb is not mapped to a namespace URI
   
   org.springframework.extensions.webscripts.AbstractWebScript.createStatusException(AbstractWebScript.java:758)
   
Server:   Community v3.4.0 (d 3370) schema 4 113

Je pense que ce qui est à retenir est l'erreur Namespace prefix kb is not mapped to a namespace URI mais je ne sais pas l'interpréter.

Merci d'avance.
3 Replies
jeanjot
Active Member

Re: Namespace prefix kb is not mapped to a namespace URI

Bonsoir

Si je ne me trompe pas vous essayez de manipuler un préfix "kb" (à priori de données) qui n'existe pas dans votre système Alfresco.

Il va vous faloir en premier lieu créer vos données avec le préfix "kb".

Ici le "kb" voulant dire "Knowledge Base".
cleseach
Active Member II

Re: Namespace prefix kb is not mapped to a namespace URI

Bonjour,

Comme l'indique jeanjot dans sa réponse, il semble que vous n'ayez pas défini le modèle documentaire dont le préfixe est kb.
Tous les détails sur comment définir un modèle documentaire sont disponibles ici : http://wiki.alfresco.com/wiki/Data_Dictionary_Guide

Dans votre cas, vous utilisez les exemples de WebScripts présentés dans l'aide Alfresco. Vous pouvez donc consulter les articles sur les modèles disponibles dans cette aide, ils vous donneront tous les éléments pour référencer le modèle kb : http://docs.alfresco.com/3.4/index.jsp?topic=%2Fcom.alfresco.Enterprise_3_4_0.doc%2Ftasks%2Fkb-defin...

Cordialement,
Charles Le Seac'h
juanfe
Member II

Re: Namespace prefix kb is not mapped to a namespace URI

Le problème est que vous n'avez pas créé le ko modèle dans Alfresco livre Professional, chapitre 5 explique comment:

http://p2p.wrox.com/book-professional-alfresco-practical-solutions-enterprise-content-management/826...