我在openCMIS尝试露天并遇到了这个问题。
当我检索CMISObject的id时,我得到像 workspace://SpacesStore/3a2bcd68-aabc-42ed-8229-bf8237aa59b7;1.0
这样的对象ID。当我访问alfresco中的更改时,我会将事件的对象ID称为 3a2bcd68-aabc-42ed-8229-bf8237aa59b7;1.0
。如何摆脱 workspace:// SpaceStore ?
代码段: -
private void getAllFilesInPath(String folderId, ArrayList<String> filesList) {
ItemIterable<CmisObject> children = FileUtils.getFolder(folderId, sessionObject).getChildren();
for (CmisObject object : children) {
if (object instanceof Folder) {
getAllFilesInPath(object.getId(), filesList);
} else if (object instanceof Document) {
filesList.add(object.getId());
}
}
System.out.println(filesList.get(0));
}
输出: workspace://SpacesStore/3a2bcd68-aabc-42ed-8229-bf8237aa59b7;1.0
ItemIterable<ChangeEvent> events = sessionObject.
getContentChanges(currentChangeToken, true);
for (ChangeEvent changeEvent : events) {
objectId = changeEvent.getObjectId();
System.out.println(objectId);
输出: 3a2bcd68-aabc-42ed-8229-bf8237aa59b7;1.0
有没有办法做到这一点。请帮助。
答案 0 :(得分:1)
根据Gagravarr发表的评论,我发现我正在谈论错误的露天终点。我已将AtomPub网址参数更改为
<强> http://localhost:6080/alfresco/api/-default-/public/cmis/versions/1.1/atom
强>
现在它运作正常。我使用第一次调用 getRepositories 方法获得的 -default-
存储库ID。
参考:1。CMIS REST AtomPub URL reference 2。CMIS Request URL format(On premise)
感谢Gagravarr:)