0

语境

在 CMIS 中,一个ChangeEvent告诉我远程服务器上的一个对象已被删除,并且该对象的 objectId 是例如workspace://SpacesStore/3aca9034-3f53-4946-a0d9-ebcf054912a2;1.0(的真实示例ChangeEvent.Properties[cmis:objectId])。

我在本地保留了所有对象的各种标识符,但没有一个标识符与 ChangeEvent 中的标识符完全匹配:

  • Document.Properties[cmis:objectId]
    3aca9034-3f53-4946-a0d9-ebcf054912a2;1.0
  • Document.Properties[alfcmis:nodeRef]
    workspace://SpacesStore/3aca9034-3f53-4946-a0d9-ebcf054912a2

问题

我应该如何从ChangeEvent.Properties[cmis:objectId]to翻译Document.Properties[cmis:objectId]

(例如,从workspace://SpacesStore/3aca9034-3f53-4946-a0d9-ebcf054912a2;1.03aca9034-3f53-4946-a0d9-ebcf054912a2;1.0

我可以只删除前 24 个字符,但我想它只适用于 Alfresco,而不适用于其他 CMIS 服务器。

环境

DotCMIS 通过 Alfresco Community 4.2.e 访问
http://server/alfresco/api/-default-/public/cmis/versions/1.0/atom

4

1 回答 1

0

需要从 Alfresco apache chemeistry 支持的 DotCMIS 分配,请通过以下代码使用 c# 从文件名访问对象 ID。

 IFolder selectedFolder1 = session1.GetObject(ObjectID) as IFolder;
   foreach (ICmisObject cmisObject in selectedFolder1.GetChildren())
     {
       if (cmisObject.GetType() != typeof(DotCMIS.Client.Impl.Folder))
         {
           if (cmisObject.Name.Contains(Uid))
              {
                        return false;

               }

          }
    }
于 2017-03-02T06:42:50.073 回答