您使用的是 4.2.e,因此,正如 Gagravarr 所说,CMIS 1.0 中使用 OpenCMIS Extension for Alfresco 支持方面。在 CMIS 1.1 中,它在 4.2.e 中受支持,作为辅助类型(方面的同义词)。
需要注意的是,在 4.2 中,CMIS URL 已更改。如果你想使用 CMIS 1.0 AtomPub,URL 是:
http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.0/atom
如果你想使用 CMIS 1.1 AtomPub,URL 是:
http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom
鉴于这些 URL、Alfresco 4.2.e、OpenCMIS 0.10.0 和 OpenCMIS 扩展 0.7,运行此代码的结果如下:
Document sourceDoc = (Document) cmisSession.getObjectByPath("/Someco/Whitepapers/whitepaper2.txt");
Folder targetFolder = (Folder) cmisSession.getObjectByPath("/destinationFolder");
sourceDoc.copy(targetFolder);
其中 whitepaper2.txt 是具有多个自定义方面和自定义元数据集的文档:
CMIS 1.0 AtomPub,无 OpenCMIS 扩展:复制成功,无需自定义方面。
CMIS 1.0 AtomPub,OpenCMIS 扩展:复制失败并出现 IllegalArgumentException。
CMIS 1.1,没有 OpenCMIS 扩展(不需要):复制成功,所有自定义方面和
属性值不变。
所以答案是在针对 4.2.x 运行时使用 CMIS 1.1 支持。