cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with cm:attaments association in Alfresco 3.2

dgildeh
Champ in-the-making
Champ in-the-making
Hi,

I'm just playing with CMIS API on Alfresco 3.2 and got an error when calling a node that had the cm:attachable aspect which includes the cm:attachments association. It's complaining the association type does not exist in CMIS which prevents me from getting any of the document info due to the 500 Internal Server error below:

Main error: Association Type QName {http://www.alfresco.org/model/content/1.0}attachments does not map to a CMIS Relationship Type


<!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 500 - Internal Error</title>
      <link rel="stylesheet" href="/alfresco/css/base.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 500 - Internal Error</span></td>
            </tr>
         </table>
         <br/>
         <table>
            <tr><td>The Web Script <a href="/alfresco/service/api/node/workspace/SpacesStore/060f1680-2ab6-4c30-be92-b33d1b2cabf8/rels">/alfresco/service/api/node/workspace/SpacesStore/060f1680-2ab6-4c30-be92-b33d1b2cabf8/rels</a> has responded with a status of 500 - Internal Error.</td></tr>
         </table>
         <br/>
         <table>
            <tr><td><b>500 Description:</b></td><td> An error inside the HTTP server which prevented it from fulfilling the request.</td></tr>
            <tr><td> </td></tr>
            <tr><td><b>Message:</b></td><td>00050003 Wrapped Exception (with status template): 00050002 Failed to execute script '/com/sambastream/sambajam/webscripts/v1/cmis/store/relationships.get.js (in classpath store file:C:/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts)': 00050001 Association Type QName {http://www.alfresco.org/model/content/1.0}attachments does not map to a CMIS Relationship Type</td></tr>
            <tr><td></td><td> </td></tr>
   <tr><td><b>Exception:</b></td><td>org.alfresco.error.AlfrescoRuntimeException - 00050001 Association Type QName {http://www.alfresco.org/model/content/1.0}attachments does not map to a CMIS Relationship Type</td></tr>
   <tr><td></td><td> </td></tr>
         <tr><td></td><td>org.alfresco.cmis.mapping.CMISServicesImpl.getRelationships(CMISServicesImpl.java:524)</td></tr>
         <tr><td></td><td>org.alfresco.repo.cmis.rest.CMISScript.queryRelationships(CMISScript.java:333)</td></tr>
         <tr><td></td><td>sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</td></tr>
         <tr><td></td><td>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)</td></tr>
         <tr><td></td><td>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)</td></tr>
         <tr><td></td><td>java.lang.reflect.Method.invoke(Method.java:597)</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.callN(OptRuntime.java:86)</td></tr>
         <tr><td></td><td>org.mozilla.javascript.gen.c2._c0(file:C:/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts/com/sambastream/sambajam/webscripts/v1/cmis/store/relationships.get.js:60)</td></tr>
         <tr><td></td><td>org.mozilla.javascript.gen.c2.call(file:C:/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts/com/sambastream/sambajam/webscripts/v1/cmis/store/relationships.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.c2.call(file:C:/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts/com/sambastream/sambajam/webscripts/v1/cmis/store/relationships.get.js)</td></tr>
         <tr><td></td><td>org.mozilla.javascript.gen.c2.exec(file:C:/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts/com/sambastream/sambajam/webscripts/v1/cmis/store/relationships.get.js)</td></tr>
         <tr><td></td><td>org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:456)</td></tr>
         <tr><td></td><td>org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:174)</td></tr>
         <tr><td></td><td>org.alfresco.repo.processor.ScriptServiceImpl.executeScript(ScriptServiceImpl.java:274)</td></tr>
         <tr><td></td><td>org.alfresco.repo.web.scripts.RepositoryScriptProcessor.executeScript(RepositoryScriptProcessor.java:108)</td></tr>
         <tr><td></td><td>org.alfresco.web.scripts.AbstractWebScript.executeScript(AbstractWebScript.java:819)</td></tr>
         <tr><td></td><td>org.alfresco.web.scripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:90)</td></tr>
         <tr><td></td><td>org.alfresco.repo.web.scripts.RepositoryContainer$2.execute(RepositoryContainer.java:372)</td></tr>
         <tr><td></td><td>org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:327)</td></tr>
         <tr><td></td><td>org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:422)</td></tr>
         <tr><td></td><td>org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:439)</td></tr>
         <tr><td></td><td>org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:303)</td></tr>
         <tr><td></td><td>org.alfresco.web.scripts.AbstractRuntime.executeScript(AbstractRuntime.java:306)</td></tr>
         <tr><td></td><td>org.alfresco.web.scripts.AbstractRuntime.executeScript(AbstractRuntime.java:183)</td></tr>
         <tr><td></td><td>org.alfresco.web.scripts.servlet.WebScriptServlet.service(WebScriptServlet.java:122)</td></tr>
         <tr><td></td><td>javax.servlet.http.HttpServlet.service(HttpServlet.java:717)</td></tr>
         <tr><td></td><td>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)</td></tr>
         <tr><td></td><td>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)</td></tr>
         <tr><td></td><td>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)</td></tr>
         <tr><td></td><td>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)</td></tr>
         <tr><td></td><td>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)</td></tr>
         <tr><td></td><td>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)</td></tr>
         <tr><td></td><td>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)</td></tr>
         <tr><td></td><td>org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)</td></tr>
         <tr><td></td><td>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)</td></tr>
         <tr><td></td><td>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)</td></tr>
         <tr><td></td><td>org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)</td></tr>
         <tr><td></td><td>java.lang.Thread.run(Thread.java:619)</td></tr>
   <tr><td></td><td> </td></tr>
   <tr><td><b>Exception:</b></td><td>org.alfresco.scripts.ScriptException - 00050002 Failed to execute script '/com/sambastream/sambajam/webscripts/v1/cmis/store/relationships.get.js (in classpath store file:C:/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts)': 00050001 Association Type QName {http://www.alfresco.org/model/content/1.0}attachments does not map to a CMIS Relationship Type</td></tr>
   <tr><td></td><td> </td></tr>
      <tr><td></td><td>org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:178)</td></tr>
   <tr><td></td><td> </td></tr>
   <tr><td><b>Exception:</b></td><td>org.alfresco.web.scripts.WebScriptException - 00050003 Wrapped Exception (with status template): 00050002 Failed to execute script '/com/sambastream/sambajam/webscripts/v1/cmis/store/relationships.get.js (in classpath store file:C:/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts)': 00050001 Association Type QName {http://www.alfresco.org/model/content/1.0}attachments does not map to a CMIS Relationship Type</td></tr>
   <tr><td></td><td> </td></tr>
      <tr><td></td><td>org.alfresco.web.scripts.AbstractWebScript.createStatusException(AbstractWebScript.java:613)</td></tr>
   <tr><td></td><td> </td></tr>
            <tr><td><b>Server</b>:</td><td>Alfresco Community v3.2.0 (r2 2440) schema 3,300</td></tr>
            <tr><td><b>Time</b>:</td><td>05-Jan-2011 23:32:57</td></tr>
            <tr><td></td><td> </td></tr>
            <tr><td><b>Diagnostics</b>:</td><td><a href="/alfresco/service/script/com/sambastream/sambajam/webscripts/v1/cmis/store/relationships.get">Inspect Web Script (com/sambastream/sambajam/webscripts/v1/cmis/store/relationships.get)</a></td></tr>
         </table>
      </div>
   </body>
</html>

I can't find any documentation on how to define new Alfresco/CMIS mappings to get rid of this issue - the CMISMapping class doesn't have any way to add new mappings between Alfresco types and CMIS types if needed.

Does anyone know how to get around this? We're using attachments quite extensively so this will cause a lot of errors when using CMIS - unfortunately upgrading to Alfresco 3.3  as well is not an option right now.

Thanks,

David
1 REPLY 1

dgildeh
Champ in-the-making
Champ in-the-making
Hi everyone,

Anyone know how to fix this? Is there any documentation on adding new mappings for custom models/associations between Alfresco/CMIS?

Thanks,

David