Documentum: Invalid property definition identifier was specified: cmis: contentStreamFileName
I am submitting a valid CMIS request in Documentum 7.1 and the response is Bad Request
:
GET /emc-cmis/resources/repositories/myrepo/path?p=%2FResources&filter=cmis%3AobjectId%2Ccmis%3Aname%2Ccmis%3AcontentStreamFileName%2Ccmis%3AcontentStreamLength%2Ccmis%3AlastModificationDate%2Ccmis%3AlastModifiedBy%2Ccmis%3Apath%2Ccmis%3AbaseTypeId%2Ccmis%3AobjectTypeId&includeAllowableActions=true&includePolicyIds=false&includeRelationships=none&includeACL=false&renditionFilter= HTTP/1.1
User-Agent: Apache Chemistry DotCMIS
Authorization: Basic dDE6dDE=
Host: documentum:8080
HTTP/1.1 400 Bad Request
Server: Apache-Coyote/1.1
Content-Type: text/plain;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 21 Nov 2014 06:45:01 GMT
Connection: close
1630
[CMIS AtomPub binding]
STATUS CODE:
400
EXCEPTION:
filterNotValid
ERROR:
Invalid property definition ID was supplied : cmis:contentStreamFileName
STACK TRACE:
org.cmis.ws.CmisException: Invalid property definition ID was supplied : cmis:contentStreamFileName
.at com.emc.documentum.fs.cmis.impl.dfs.utils.CmisExceptionFactory.create(CmisExceptionFactory.java:24)
.at com.emc.documentum.fs.cmis.impl.dfs.utils.CmisExceptionBuilder.build(CmisExceptionBuilder.java:31)
.at com.emc.documentum.fs.cmis.impl.dfs.converter.object.DataObjectConverter.convertProperty(DataObjectConverter.java:241)
.at com.emc.documentum.fs.cmis.impl.dfs.converter.object.DataObjectConverter.convertProperties(DataObjectConverter.java:212)
.at com.emc.documentum.fs.cmis.impl.dfs.converter.object.DataObjectConverter.getCmisPropertiesByFilter(DataObjectConverter.java:202)
.at com.emc.documentum.fs.cmis.impl.dfs.converter.object.DataObjectConverter.toCmisObject(DataObjectConverter.java:124)
.at com.emc.documentum.fs.cmis.impl.dfs.action.GetObjectByPathAction.execute(GetObjectByPathAction.java:73)
.at com.emc.documentum.fs.cmis.impl.dfs.action.GetObjectByPathAction.execute(GetObjectByPathAction.java:45)
.at com.emc.documentum.fs.cmis.impl.filter.LinkedActionFilterChain.run(LinkedActionFilterChain.java:23)
.at com.emc.documentum.fs.cmis.impl.filter.RequestValidationFilter.doFilter(RequestValidationFilter.java:16)
.at com.emc.documentum.fs.cmis.impl.filter.LinkedActionFilterChain.run(LinkedActionFilterChain.java:21)
.at com.emc.documentum.fs.cmis.rs.impl.resource.ObjectPathResource.getProperties(ObjectPathResource.java:66)
.at sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source)
.at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
.at java.lang.reflect.Method.invoke(Unknown Source)
.at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
.at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
.at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
.at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
.at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:134)
.at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
.at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:134)
.at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
.at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
.at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
.at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
.at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1483)
.at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1414)
.at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1363)
.at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1353)
.at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:414)
.at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
.at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:708)
.at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
.at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
.at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
.at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
.at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
.at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
.at com.emc.documentum.fs.cmis.rs.impl.web.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:104)
.at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
.at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
.at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
.at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
.at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
.at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
.at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
.at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
.at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
.at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
.at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
.at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
.at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
.at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
.at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
.at java.lang.Thread.run(Unknown Source)
I am 100% sure that my request is valid according to the CMIS protocol. This is actually posted by DotCMIS. Documentum responds correctly to GetRepository requests. What is the problem?
Here's the filter
request parameters field decoded:
- KIIS: ObjectId
- KIIS: name
- cmis: contentStreamFileName (the one that seems problematic)
- KIIS: contentStreamLength
- KIIS: lastModificationDate
- KIIS: lastModifiedBy
- KIIS: the way
- KIIS: baseTypeId
- KIIS: objectTypeId
If I remove the filter contentStreamFileName
, Documentum complains about contentStreamLength
. If I also remove this filter, I get the correct answer:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:ns6="http://wadl.dev.java.net/2009/02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<atom:id>http://192.168.209.100:8080/emc-cmis/resources/repositories/myrepo/objects/0c00000180000130</atom:id>
<atom:title type="text">Resources</atom:title>
<atom:author>
<atom:name>myauthor</atom:name>
</atom:author>
<atom:summary type="text">dm_cabinet object</atom:summary>
<atom:published>2014-10-28T01:19:52.000+09:00</atom:published>
<atom:updated>2014-10-27T17:28:14.000+09:00</atom:updated>
<atom:link type="application/atomsvc+xml" rel="service" href="http://192.168.209.100:8080/emc-cmis/resources/repositories/myrepo"/>
<atom:link type="application/atom+xml;type=entry" rel="self" href="http://192.168.209.100:8080/emc-cmis/resources/repositories/myrepo/objects/0c00000180000130" cmisra:id="0c00000180000130"/>
<atom:link type="application/atom+xml;type=entry" rel="edit" href="http://192.168.209.100:8080/emc-cmis/resources/repositories/myrepo/objects/0c00000180000130" cmisra:id="0c00000180000130"/>
<atom:link type="application/cmisallowableactions+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://192.168.209.100:8080/emc-cmis/resources/repositories/myrepo/objects/0c00000180000130/actions"/>
<atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://192.168.209.100:8080/emc-cmis/resources/repositories/myrepo/objects/0c00000180000130/acl"/>
<atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://192.168.209.100:8080/emc-cmis/resources/repositories/myrepo/types/dm_cabinet" cmisra:id="dm_cabinet"/>
<atom:content>0c00000180000130</atom:content>
<atom:link type="application/atom+xml;type=entry" rel="up" href="http://192.168.209.100:8080/emc-cmis/resources/repositories/myrepo/objects/0c00000180000130/parents"/>
<atom:link type="application/atom+xml;type=feed" rel="down" href="http://192.168.209.100:8080/emc-cmis/resources/repositories/myrepo/objects/0c00000180000130/children"/>
<atom:link type="application/cmistree+xml" rel="down" href="http://192.168.209.100:8080/emc-cmis/resources/repositories/myrepo/objects/0c00000180000130/descendants"/>
<atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://192.168.209.100:8080/emc-cmis/resources/repositories/myrepo/objects/0c00000180000130/tree"/>
<atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://192.168.209.100:8080/emc-cmis/resources/repositories/myrepo/objects/0c00000180000130/relationships"/>
<app:edited>2014-10-27T17:28:14.000+09:00</app:edited>
<cmisra:object>
<cmis:properties>
<cmis:propertyId queryName="cmis:objectId" displayName="Object Id" localName="r_object_id" propertyDefinitionId="cmis:objectId">
<cmis:value>0c00000180000130</cmis:value>
</cmis:propertyId>
<cmis:propertyString queryName="cmis:name" displayName="Name" localName="object_name" propertyDefinitionId="cmis:name">
<cmis:value>Resources</cmis:value>
</cmis:propertyString>
<cmis:propertyDateTime queryName="cmis:lastModificationDate" displayName="Last Modification Date" localName="r_modify_date" propertyDefinitionId="cmis:lastModificationDate">
<cmis:value>2014-10-27T17:28:14.000+09:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyString queryName="cmis:lastModifiedBy" displayName="Last Modified By" localName="r_modifier" propertyDefinitionId="cmis:lastModifiedBy">
<cmis:value>dmadmin</cmis:value>
</cmis:propertyString>
<cmis:propertyString queryName="cmis:path" displayName="Folder Path" localName="r_folder_path" propertyDefinitionId="cmis:path">
<cmis:value>/Resources</cmis:value>
</cmis:propertyString>
<cmis:propertyId queryName="cmis:baseTypeId" displayName="Base Type Id" localName="" propertyDefinitionId="cmis:baseTypeId">
<cmis:value>cmis:folder</cmis:value>
</cmis:propertyId>
<cmis:propertyId queryName="cmis:objectTypeId" displayName="Object Type ID" localName="r_object_type" propertyDefinitionId="cmis:objectTypeId">
<cmis:value>dm_cabinet</cmis:value>
</cmis:propertyId>
</cmis:properties>
<cmis:allowableActions>
<cmis:canDeleteObject>false</cmis:canDeleteObject>
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
<cmis:canGetFolderTree>true</cmis:canGetFolderTree>
<cmis:canGetProperties>true</cmis:canGetProperties>
<cmis:canGetObjectRelationships>true</cmis:canGetObjectRelationships>
<cmis:canGetObjectParents>true</cmis:canGetObjectParents>
<cmis:canGetFolderParent>true</cmis:canGetFolderParent>
<cmis:canGetDescendants>true</cmis:canGetDescendants>
<cmis:canMoveObject>true</cmis:canMoveObject>
<cmis:canApplyPolicy>false</cmis:canApplyPolicy>
<cmis:canGetAppliedPolicies>false</cmis:canGetAppliedPolicies>
<cmis:canRemovePolicy>false</cmis:canRemovePolicy>
<cmis:canGetChildren>true</cmis:canGetChildren>
<cmis:canCreateDocument>true</cmis:canCreateDocument>
<cmis:canCreateFolder>true</cmis:canCreateFolder>
<cmis:canCreateRelationship>true</cmis:canCreateRelationship>
<cmis:canDeleteTree>false</cmis:canDeleteTree>
<cmis:canGetACL>false</cmis:canGetACL>
<cmis:canApplyACL>false</cmis:canApplyACL>
</cmis:allowableActions>
</cmisra:object>
</atom:entry>
+3
source to share
No one has answered this question yet
Check out similar questions: