我在/Sites/swsdp/documentLibrary/Presentations/test1.txt
有一个ID为workspace://SpacesStore/626216a1-5f9e-4010-a424-e2e0ec4f2663;1.0
的Alfresco 4.2文档。
这是我处理ChangeLog更改事件的DotCMIS代码:
ICmisObject cmisObject = session.GetObject(
"workspace://SpacesStore/626216a1-5f9e-4010-a424-e2e0ec4f2663;1.0");
if (null != (document = cmisObject as IDocument))
{
String filename = document.ContentStreamFilename; // returns: "test1.txt"
List<String> paths = document.Paths; // returns: Empty list
}
为什么paths
是一个空列表?
为什么它不包含/Sites/swsdp/documentLibrary/Presentations/test1.txt
?
我知道它不完全相同,但是OpenCMIS文档对相同的方法进行了说明:
返回此对象的路径列表,如果此对象未归档或此对象是根文件夹,则返回空列表
问题是我使用的是Alfresco的旧CMIS URL。
通过使用新的 URL 格式来解决:
http://<host>/alfresco/api/-default-/public/cmis/versions/1.0/atom
这不是答案,但我无法添加评论,因为我的代表太低了。
它对我有用。我使用Alfresco4.2系统获得了文档的路径
顺便说一句,你的代码应该是
String filename = document.ContentStreamFileName; //camel case
IList<String> paths = document.Paths; //IList vs List