[
https://issues.apache.org/jira/browse/CMIS-430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13103000#comment-13103000
]
Florian Müller commented on CMIS-430:
-------------------------------------
You have to support getDescendants() or getFolderTree() to make deleteTree()
work. At least one of the relation links have to be present. Otherwise the
client cannot call DELETE.
Your solution proposal does not concur with the CMIS specification.
There is, however, a workaround. Override
AbstractCmisService.getObjectInfoIntern() with your own implementation. (That's
a good idea anyway since you can make all kinds of performance improvements
there.) Make sure that you call ObjectInfo.setSupportsDescendants(true) for all
folders. That generates the relation link for deleteTree(). getDescendants()
can still throw a CmisNotSupportedException.
> Server-Binding - Children.DeleteTree does not work with Rest-Atom
> -----------------------------------------------------------------
>
> Key: CMIS-430
> URL: https://issues.apache.org/jira/browse/CMIS-430
> Project: Chemistry
> Issue Type: Bug
> Components: opencmis-server
> Affects Versions: OpenCMIS 0.4.0, OpenCMIS 0.5.0
> Environment: Windows XP, JDK 1.6, Tomcat 6
> Reporter: Jonathan Lapointe
> Labels: 405-error, atompub, binding, opencmis, rest
> Attachments: CmisAtomPubServlet.java
>
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> We have developed a CMIS server using OpenCMIS-Server (Maven overlay).
> When testing the service using CMIS workbench 0.4.0 while connected with
> AtomPub, The operation DeleteTree on a folder returns 405-Method not allowed.
> Workbench issue a http request like this DELETE
> /cmissvr/atom/racineMcccf/children?id=xxx
> Execution of the TCK results in the same error.
> There is no error while connected with WebService's bindings
> Adding this line in CmisAtomPubServlet.init resolve the issue:
> dispatcher.addResource(AtomPubUtils.RESOURCE_CHILDREN,
> Dispatcher.METHOD_DELETE, ObjectService.class, "deleteTree");
> Note: We have not implemented the "Descendants" capabilities, maybe this is
> the reason that Descendants/DELETE (ObjectService.deleteTree) is not invoked
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira