cancel
Showing results for 
Search instead for 
Did you mean: 

Exception while adding aspect: InvalidQNameException: Argument qname is mandatory

nick_l
Champ in-the-making
Champ in-the-making
My code is like below:

——————
        Reference ref = new Reference(STORE, folder.getId(), folder.getPath());
        String uuid = ref.getUuid();
       
        ParentReference parentReference = new ParentReference(store, uuid, null, Constants.ASSOC_CONTAINS, "{" + Constants.NAMESPACE_CONTENT_MODEL + "}" + name);
                
        
        NamedValue[] prop = new NamedValue[]{Utils.createNamedValue(Constants.PROP_NAME, name)};
        CMLCreate create = new CMLCreate("1", null, uuid,  Constants.ASSOC_CONTAINS, null, Constants.PROP_CONTENT, prop);

        CML cml = new CML();
        cml.setCreate(new CMLCreate[]{create});
       
        NamedValue author = Utils.createNamedValue(
                Constants.createQNameString(MY_NS, "author"), "tom");
        NamedValue desc = Utils.createNamedValue(
                Constants.createQNameString(MY_NS, "description"), "desc Ok");
        NamedValue internal = Utils.createNamedValue(
                Constants.createQNameString(MY_NS, "internal"), "yes");
        NamedValue[] ascProperties = new NamedValue[]{author, desc, internal};
        CMLAddAspect addaspect = new CMLAddAspect();
        addaspect.setAspect(Constants.createQNameString(MY_NS, "DocDetails"));
        addaspect.setProperty(ascProperties);
        addaspect.setWhere_id("1");
        cml.setAddAspect(new CMLAddAspect[]{addaspect});
        WebServiceFactory.getRepositoryService().update(cml);
———————–
But I got org.alfresco.service.namespace.InvalidQNameException: Argument qname is mandatory

[sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method), sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39), sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27), java.lang.reflect.Constructor.newInstance(Constructor.java:513), java.lang.Class.newInstance0(Class.java:355), java.lang.Class.newInstance(Class.java:308), org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:104), org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90), org.alfresco.webservice.repository.RepositoryFault.getDeserializer(RepositoryFault.java:146), 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.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154), org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84), org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464), org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547), org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157), org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035), com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501), com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400), com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755), com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648), com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140), com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511), com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808), com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737), com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119), com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205), com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522), javax.xml.parsers.SAXParser.parse(SAXParser.java:395), org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227), org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696), org.apache.axis.Message.getSOAPEnvelope(Message.java:435), org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62), org.apache.axis.client.AxisClient.invoke(AxisClient.java:206), org.apache.axis.client.Call.invokeEngine(Call.java:2784), org.apache.axis.client.Call.invoke(Call.java:2767), org.apache.axis.client.Call.invoke(Call.java:2443), org.apache.axis.client.Call.invoke(Call.java:2366), org.apache.axis.client.Call.invoke(Call.java:1812), org.alfresco.webservice.repository.RepositoryServiceSoapBindingStub.update(RepositoryServiceSoapBindingStub.java:986),
2 REPLIES 2

nick_l
Champ in-the-making
Champ in-the-making
I also used the example code from this link: http://code.google.com/a/apache-extras.org/p/alfresco-opencmis-extension/

But it gives me another exception, given I already set the OBJECT_FACTORY_CLASS to "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl":


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <title>Web Script Status 400 - Bad Request</title>
      <link rel="stylesheet" href="/alfresco/css/webscripts.css" type="text/css" />
   </head>
   <body>
      <div>
         <table>
            <tr>
               <td><img src="/alfresco/images/logo/AlfrescoLogo32.png" alt="Alfresco" /></td>
               <td><span class="title">Web Script Status 400 - Bad Request</span></td>
            </tr>
         </table>
         <br/>
         <table>
            <tr><td>The Web Script <a href="%2Falfresco%2Fservice%2Fcmis%2Ftype%2Fcmis%3Adocument%2CP%3Acm%3Atitled">/alfresco/service/cmis/type/cmis:document,P:cm:titled</a> has responded with a status of 400 - Bad Request.</td></tr>
         </table>
         <br/>
         <table>
            <tr><td><b>400 Description:</b></td><td> Request sent by the client was syntactically incorrect.</td></tr>
            <tr><td> </td></tr>
            <tr><td><b>Message:</b></td><td>03050076 Invalid typeId cmis:document,P:cm:titled</td></tr>
            <tr><td></td><td> </td></tr>
   <tr><td><b>Exception:</b></td><td>org.alfresco.cmis.CMISInvalidArgumentException - Invalid typeId cmis:document,P:cm:titled</td></tr>
   <tr><td></td><td> </td></tr>
         <tr><td></td><td>org.alfresco.cmis.mapping.CMISServicesImpl.getTypeDefinition(CMISServicesImpl.java:963)</td></tr>
         <tr><td></td><td>org.alfresco.repo.cmis.rest.CMISScript.queryType(CMISScript.java:559)</td></tr>
         <tr><td></td><td>sun.reflect.GeneratedMethodAccessor1020.invoke(Unknown Source)</td></tr>
         <tr><td></td><td>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</td></tr>
         <tr><td></td><td>java.lang.reflect.Method.invoke(Method.java:601)</td></tr>
         <tr><td></td><td>org.mozilla.javascript.MemberBox.invoke(MemberBox.java:155)</td></tr>
         <tr><td></td><td>org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:243)</td></tr>
         <tr><td></td><td>org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66)</td></tr>
         <tr><td></td><td>org.mozilla.javascript.gen.c3._c0(file:/home/developer/dev/apps/alfresco-4.2/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/templates/webscripts/org/alfresco/cmis/type.get.js:5)</td></tr>
         <tr><td></td><td>org.mozilla.javascript.gen.c3.call(file:/home/developer/dev/apps/alfresco-4.2/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/templates/webscripts/org/alfresco/cmis/type.get.js)</td></tr>
         <tr><td></td><td>org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)</td></tr>
         <tr><td></td><td>org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834)</td></tr>
         <tr><td></td><td>org.mozilla.javascript.gen.c3.call(file:/home/developer/dev/apps/alfresco-4.2/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/templates/webscripts/org/alfresco/cmis/type.get.js)</td></tr>
         <tr><td></td><td>org.mozilla.javascript.gen.c3.exec(file:/home/developer/dev/apps/alfresco-4.2/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/templates/webscripts/org/alfresco/cmis/type.get.js)</td></tr>
         <tr><td></td><td>org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:492)</td></tr>
         <tr><td></td><td>org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:198)</td></tr>
         <tr><td></td><td>org.alfresco.repo.processor.ScriptServiceImpl.execute(ScriptServiceImpl.java:212)</td></tr>
         <tr><td></td><td>org.alfresco.repo.processor.ScriptServiceImpl.executeScript(ScriptServiceImpl.java:174)</td></tr>
         <tr><td></td><td>org.alfresco.repo.web.scripts.RepositoryScriptProcessor.executeScript(RepositoryScriptProcessor.java:102)</td></tr>
         <tr><td></td><td>org.springframework.extensions.webscripts.AbstractWebScript.executeScript(AbstractWebScript.java:1305)</td></tr>
         <tr><td></td><td>org.alfresco.repo.cmis.rest.CMISWebScript.executeScript(CMISWebScript.java:46)</td></tr>
         <tr><td></td><td>org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:86)</td></tr>
         <tr><td></td><td>org.alfresco.repo.web.scripts.RepositoryContainer$3.execute(RepositoryContainer.java:426)</td></tr>
         <tr><td></td><td>org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:433)</td></tr>
         <tr><td></td><td>org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:495)</td></tr>
         <tr><td></td><td>org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:533)</td></tr>
         <tr><td></td><td>org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:349)</td></tr>
         <tr><td></td><td>org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:377)</td></tr>
         <tr><td></td><td>org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:209)</td></tr>
         <tr><td></td><td>org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:118)</td></tr>
         <tr><td></td><td>javax.servlet.http.HttpServlet.service(HttpServlet.java:722)</td></tr>
         <tr><td></td><td>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)</td></tr>
         <tr><td></td><td>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)</td></tr>
         <tr><td></td><td>org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:61)</td></tr>
         <tr><td></td><td>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)</td></tr>
         <tr><td></td><td>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)</td></tr>
         <tr><td></td><td>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)</td></tr>
         <tr><td></td><td>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)</td></tr>
         <tr><td></td><td>org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)</td></tr>
         <tr><td></td><td>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)</td></tr>
         <tr><td></td><td>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)</td></tr>
         <tr><td></td><td>org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)</td></tr>
         <tr><td></td><td>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)</td></tr>
         <tr><td></td><td>org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)</td></tr>
         <tr><td></td><td>org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)</td></tr>
         <tr><td></td><td>org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)</td></tr>
         <tr><td></td><td>org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1813)</td></tr>
         <tr><td></td><td>java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)</td></tr>
         <tr><td></td><td>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)</td></tr>
         <tr><td></td><td>java.lang.Thread.run(Thread.java:722)</td></tr>
   <tr><td></td><td> </td></tr>
   <tr><td><b>Exception:</b></td><td>org.springframework.extensions.webscripts.WebScriptException - 03050076 Invalid typeId cmis:document,P:cm:titled</td></tr>
   <tr><td></td><td> </td></tr>
      <tr><td></td><td>org.alfresco.repo.cmis.rest.CMISScript.queryType(CMISScript.java:563)</td></tr>
   <tr><td></td><td> </td></tr>
            <tr><td><b>Server</b>:</td><td>Community v4.2.0 (4576) schema 6,022</td></tr>
            <tr><td><b>Time</b>:</td><td>05/04/2013 3:03:51 PM</td></tr>
            <tr><td></td><td> </td></tr>
            <tr><td><b>Diagnostics</b>:</td><td><a href="/alfresco/service/script/org/alfresco/cmis/type.get">Inspect Web Script (org/alfresco/cmis/type.get)</a></td></tr>
         </table>
      </div>
   </body>
</html>


nick_l
Champ in-the-making
Champ in-the-making
revisit my post:
the problem is I used opencmis extention 0.4 and all other opemcmis package 0.9.0 beta. After change to 0.3 and 0.8.0, the problem is gone.