Hi Alex,

canDeleteTreeSpecified is a class member generated by the .NET XML 
serialization framework. It indicates if the tag exists in the XML document or 
not. It has nothing to do with the CMIS specification. 
It shouldn't show up IN the XML, thought. Only Microsoft can answer why it is 
there. OpenCMIS ignores it.

The CMIS Workbench does work with SharePoint. There are a few issues that are 
caused by Microsofts CMIS implementation. The CMIS Workbench works best with 
the AtomPub binding. If you can, turn off NTLM and turn on basic authentication 
on the SharePoint end. 


Cheers,

Florian


On 31/03/2011 00:28, Alexander Chow wrote:
> Hi all,
> 
> So, we are trying to use OpenCMIS 0.2.0 to access a Sharepoint 2010 
> repository and noticed that we can't call Folder.deleteTree(). We get the 
> following stacktrace snippet:
> 
> Caused by: 
> org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException: 
> Method Not Allowed
> at 
> org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:405)
> at 
> org.apache.chemistry.opencmis.client.bindings.spi.atompub.ObjectServiceImpl.deleteTree(ObjectServiceImpl.java:370)
> at 
> org.apache.chemistry.opencmis.client.runtime.FolderImpl.deleteTree(FolderImpl.java:176)
> ...
> 
> Upon further investigation, it turns out that indeed the allowableActions 
> entry "canDeleteTree" is FALSE. But there seems to be another entry that I am 
> not familiar with and can't seem to find in the CMIS 1.0 spec... 
> "canDeleteTreeSpecified", which is TRUE.
> 
> <allowableActions xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/";>
> <anyAttr i:nil="true" 
> xmlns:a="http://schemas.datacontract.org/2004/07/System.Xml"; 
> xmlns:i="http://www.w3.org/2001/XMLSchema-instance"; 
> xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/";></anyAttr>
> <any i:nil="true" 
> xmlns:a="http://schemas.datacontract.org/2004/07/System.Xml"; 
> xmlns:i="http://www.w3.org/2001/XMLSchema-instance"; 
> xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/";></any>
> ...
> <canDeleteObject 
> xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/";>true</canDeleteObject>
> <canDeleteObjectSpecified 
> xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/";>true</canDeleteObjectSpecified>
> <canDeleteTreeSpecified 
> xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/";>true</canDeleteTreeSpecified>
> ...
> <canDeleteContentStream 
> xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/";>false</canDeleteContentStream>
> <canDeleteTree 
> xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/";>false</canDeleteTree>
> ...
> </allowableActions>
> 
> 
> Incidentally, I have also noticed that the canDeleteTreeSpecified seems to be 
> in the DotCMIS code:
> 
> http://svn.apache.org/repos/asf/chemistry/dotcmis/trunk/DotCMIS/binding/converter.cs
> 
> Can somebody give some light as to what Sharepoint (and DotCMIS) is doing 
> here? Are we unable to delete the trees of a folder? Or is there some part of 
> the spec which I am not familiar with? Incidentally, it seems as though the 
> CMIS workbench does not work either with Sharepoint.
> 
> Thanks,
> 
> Alex

Reply via email to