我的开源应用程序下载Alfresco文件夹的文件(通过CMIS)。
算法很简单:
- 使用Folder.getChildren()列出文件夹的内容
- 使用Document.getContentStream()下载每个
它工作正常,除了包含文件工作副本的文件夹,在这种情况下,Alfresco 说:
org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException: Stream id is invalid: workspace://SpacesStore/8b9a58ba-652f-4a18-8d26-aba06df98d25;pwc
at org.alfresco.opencmis.CMISConnector.getContentStream(CMISConnector.java:1199)
at org.alfresco.opencmis.AlfrescoCmisServiceImpl.getContentStream(AlfrescoCmisServiceImpl.java:1795)
at sun.reflect.GeneratedMethodAccessor700.invoke(Unknown Source)
可能的;pwc
意思是“私有工作副本”,这是 CMIS 协议中的一个特例。当 Alfresco Share 用户单击文档上的“脱机编辑”(也称为签出/签入)时,会创建工作副本。
我的算法有缺陷吗?还是可能是 Alfresco/OpenCMIS 中的错误?