Topic
  • 4 replies
  • Latest Post - ‏2012-09-05T09:18:22Z by SystemAdmin
SystemAdmin
SystemAdmin
76 Posts

Pinned topic CMIS for CM and Process Designer Integration Issue

‏2012-08-27T12:15:27Z |
Hi,
I am having problem with accessing CM Item Type from IBM Process Designer using ECM configuration.

Versions are:
IBM Content Manager Enterprise Edition V8.4.3
IBM Information Integrator for Content Manager Enterprise Edition V8.4.3
CMIS For Content 1.0.0.1

Exception is:

com.ibm.content.cm.logging.Logger error handleException CIL1298: The service cannot be completed because the following object cannot be found: TestItem
Explanation: No additional explanation is required.
Action: Verify that the path or ID of the object is correct or specify a different object.
com.ibm.ecm.cmis.exceptions.ObjectNotFoundException: CIL1298: The service cannot be completed because the following object cannot be found: TestItem
Explanation: No additional explanation is required.
Action: Verify that the path or ID of the object is correct or specify a different object.
at com.ibm.ecm.cmis.wsdl.impl.RepositoryServicePortImpl.getTypeDefinition(RepositoryServicePortImpl.java:395)
at com.ibm.ecm.cmis.wsdl.impl.RepositoryServicePortImpl.getTypeDefinition(RepositoryServicePortImpl.java:368)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:600)
at org.apache.axis2.jaxws.server.dispatcher.JavaDispatcher.invokeTargetOperation(JavaDispatcher.java:82)
at org.apache.axis2.jaxws.server.dispatcher.JavaBeanDispatcher.invoke(JavaBeanDispatcher.java:98)
at org.apache.axis2.jaxws.server.EndpointController.invoke(EndpointController.java:111)
at org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:161)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:188)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
at com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doPost(WASAxis2Servlet.java:1378)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1597)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
at com.ibm.ecm.integration.common.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
at com.ibm.ecm.integration.common.authentication.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:156)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
at com.ibm.ecm.cmis.wsdl.util.WSDLFilter.doFilter(WSDLFilter.java:72)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
at com.ibm.ecm.integration.common.nls.servlet.LocaleFilter.doFilter(LocaleFilter.java:57)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
at com.ibm.ecm.integration.common.messageTrace.servlet.MessageTraceFilter.doFilter(MessageTraceFilter.java:84)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:934)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:445)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:504)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:301)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1563)
Thank you,
Mustansar
Updated on 2012-09-05T09:18:22Z at 2012-09-05T09:18:22Z by SystemAdmin
  • TigerTrix
    TigerTrix
    38 Posts

    Re: CMIS for CM and Process Designer Integration Issue

    ‏2012-08-27T17:01:16Z  
    Does this work with any other item type, meaning it is specific to this item type, or no item types work for retrieval? How are you retrieving it? Are you building a CMIS URL manually, using a supported URL template, or using a URL generated by another method like a document that reports how to get its type, or from a list of types that give the URLs to get each individually?

    I suspect the problem is that you submitted "TestItem" as the ID, but that is actually the item type name, not the item type ID in IBM CMIS for CM8. Try using the CMIS ID for this type instead of the name. You shouldn't manually build the ID, but instead get it from an appropriate source in case the format ever changes. List the types by the normal types URLs, and the IDs should be listed (as well as the actual URLs to get them). To see them, use one of the URLs in FireFox and CTRL+U to see the source XML. But if you are just playing around with an initial prototype, you can try hand-typing some IDs you find. Actual type IDs will look something like "$t_...v-1" (actual syntax varies depending on folder type or non-folder type). But remember, the format is not intended for people to construct IDs themselves. They are only intended to use them as generated.
  • SystemAdmin
    SystemAdmin
    76 Posts

    Re: CMIS for CM and Process Designer Integration Issue

    ‏2012-09-03T12:51:28Z  
    • TigerTrix
    • ‏2012-08-27T17:01:16Z
    Does this work with any other item type, meaning it is specific to this item type, or no item types work for retrieval? How are you retrieving it? Are you building a CMIS URL manually, using a supported URL template, or using a URL generated by another method like a document that reports how to get its type, or from a list of types that give the URLs to get each individually?

    I suspect the problem is that you submitted "TestItem" as the ID, but that is actually the item type name, not the item type ID in IBM CMIS for CM8. Try using the CMIS ID for this type instead of the name. You shouldn't manually build the ID, but instead get it from an appropriate source in case the format ever changes. List the types by the normal types URLs, and the IDs should be listed (as well as the actual URLs to get them). To see them, use one of the URLs in FireFox and CTRL+U to see the source XML. But if you are just playing around with an initial prototype, you can try hand-typing some IDs you find. Actual type IDs will look something like "$t_...v-1" (actual syntax varies depending on folder type or non-folder type). But remember, the format is not intended for people to construct IDs themselves. They are only intended to use them as generated.
    Thank you for the reply.

    No item type works for retrieval except the one named "cmis:document" (cmis:document was not created by us). We are retrieving it from IBM Process Designer which automatically builds the query. I have attached 4 screen shots.

    • "1-ListOfTypes.png" shows the list of item types.

    • "2-cmisdocument.png" shows the correct retrieval of documents with their filename, date and ID that we have imported in CM. It is strange because we had imported the file "some name abc" into item type named TestItem. Further testing proved that cmis:document loads all documents present in CM.

    • "3-TestItem.png" shows what happen when we select TestItem. It does not load any document and the error is logged in SystemOut.log

    • "4-ServerConfiguration.png" shows our successful server configurations for ECM. Connectivity with ECM is also proved to be working correctly since it loads documents when we select "cmis:document"
    Mustansar
  • TigerTrix
    TigerTrix
    38 Posts

    Re: CMIS for CM and Process Designer Integration Issue

    ‏2012-09-04T18:49:16Z  
    Thank you for the reply.

    No item type works for retrieval except the one named "cmis:document" (cmis:document was not created by us). We are retrieving it from IBM Process Designer which automatically builds the query. I have attached 4 screen shots.

    • "1-ListOfTypes.png" shows the list of item types.

    • "2-cmisdocument.png" shows the correct retrieval of documents with their filename, date and ID that we have imported in CM. It is strange because we had imported the file "some name abc" into item type named TestItem. Further testing proved that cmis:document loads all documents present in CM.

    • "3-TestItem.png" shows what happen when we select TestItem. It does not load any document and the error is logged in SystemOut.log

    • "4-ServerConfiguration.png" shows our successful server configurations for ECM. Connectivity with ECM is also proved to be working correctly since it loads documents when we select "cmis:document"
    Mustansar
    I suspect a problem with IBM Process Designer then if it is handling requests by item type name incorrectly instead of ID if an ID value is required. Only "cmis:document" and "cmis:folder" have an identical value for both name & ID because they are special values. So that is the only one you could use a name in place of an ID just because the ID for that one happens to be the special name value. So if you are not making the requests yourself, then the component you are using must be.

    This should be simple from a CMIS perspective. If you put a TCP/IP monitor to trace the HTTP traffic, and then see what type request is actually made. And if you see a URL request with the item type name where a CMIS ID should be, then the application making the request made an error, unless it got that URL from CMIS which was generated incorrectly (which I don't think is the case).

    Btw, "cmis:document" is the virtual base type of all document types (and all instances of a non-folder semantic type), and "cmis:folder" is the virtual base types of all folder types (and all instances of a folder semantic type). So querying "cmis:document" will return all documents in the system. And listing sub-types will return all item types that are not defined to be a folder type. And creating an instance will default to a specific document type selected to be used as the default sub-type should you attempt to create an instance, which is explained more in documentTypeGlobalDefault.

    But I am sorry, I cannot investigate the screencaps or traces submitted myself. For that, perhaps someone else monitoring this thread might engage, or you might need to contact IBM Support, which should be more than willing to help diagnose.
  • SystemAdmin
    SystemAdmin
    76 Posts

    Re: CMIS for CM and Process Designer Integration Issue

    ‏2012-09-05T09:18:22Z  
    • TigerTrix
    • ‏2012-09-04T18:49:16Z
    I suspect a problem with IBM Process Designer then if it is handling requests by item type name incorrectly instead of ID if an ID value is required. Only "cmis:document" and "cmis:folder" have an identical value for both name & ID because they are special values. So that is the only one you could use a name in place of an ID just because the ID for that one happens to be the special name value. So if you are not making the requests yourself, then the component you are using must be.

    This should be simple from a CMIS perspective. If you put a TCP/IP monitor to trace the HTTP traffic, and then see what type request is actually made. And if you see a URL request with the item type name where a CMIS ID should be, then the application making the request made an error, unless it got that URL from CMIS which was generated incorrectly (which I don't think is the case).

    Btw, "cmis:document" is the virtual base type of all document types (and all instances of a non-folder semantic type), and "cmis:folder" is the virtual base types of all folder types (and all instances of a folder semantic type). So querying "cmis:document" will return all documents in the system. And listing sub-types will return all item types that are not defined to be a folder type. And creating an instance will default to a specific document type selected to be used as the default sub-type should you attempt to create an instance, which is explained more in documentTypeGlobalDefault.

    But I am sorry, I cannot investigate the screencaps or traces submitted myself. For that, perhaps someone else monitoring this thread might engage, or you might need to contact IBM Support, which should be more than willing to help diagnose.
    Thank you for clarification.

    We are in contact with IBM Support and they are in a process of diagnosing the problem. Purpose of posting here was to get as much help as we can get which certainly was the right choice because you clearified few thing quite nicely.

    It seems that the problem lies with cmis because we also encountered problems while trying to connect to cmis using ECM Adapter in websphere integration designer.