【问题标题】:Simulating CMIS Atom API doesn't load the information properly模拟 CMIS Atom API 无法正确加载信息
【发布时间】:2015-04-15 12:40:44
【问题描述】:

我被要求使用我们的 API 为我公司的内容管理模拟 CMIS Atom API。但我被困在看起来很简单的事情上。所以我试图加载 CMIS TCK,但由于某种原因,响应的值不会进入下一个请求。所以我觉得我错过了一些东西。

我收到的第一个请求是 getRepositories

/cmisatom/getRepositories

然后我收到获取特定存储库的请求

/cmisatom/getRepositories?repositoryId=c9ad76c6-d121-4a32-bb14-e5d43bf91ee6

这有点告诉我来自第一个请求的数据已正确解析。

现在第三个请求是事情变得奇怪的地方。我收到了对 id 的请求

/cmisatom/c9ad76c6-d121-4a32-bb14-e5d43bf91ee6/id?id=&filter=&includeAllowableActions=&includeACL=&includePolicyIds=&includeRelationships=&renditionFilter=

但没有加载 id 信息,没有过滤器或其他任何信息。我正在匹配我在本地运行的露天 CMIS Atom 的响应。所以除了jsession之外,响应是相同的。你能分享这方面的任何指导吗?

【问题讨论】:

    标签: alfresco atom-feed cmis opencmis


    【解决方案1】:

    步骤如下。

    1. 服务文档是第一个要获取的文档 - 您的示例将其称为“/cmisatom/getRepositories”。这列出了所有存储库数据的列表。它还包括存储库 url 模板,如 OBJECT_BY_ID、TYPE_BY_ID 等。这意味着,对于导航/列出文件夹等,不使用您的链接“/cmisatom/getRepositories?id=c9ad76c6-d121-4a32-bb14-e5d43bf91ee6”。
    2. 您所指的第三个链接看起来像一个 URL 模板 OBJECT_BY_ID - 在这里您必须在发出请求之前提供对象 ID 并填充其他参数。
    3. 第一个请求的参数对象 ID 也是您从服务文档中获得的值。该值称为 ROOT FOLDER ID。
    4. 使用根文件夹 id 通过 id url 模板更新对象并获取根文件夹详细信息 - 从那里获取子文件夹并继续进行。

    您可以进一步参考 Apache Chemistry In Memory 存储库 - https://chemistry.apache.org/java/developing/repositories/dev-repositories-inmemory.html - 它是一个开源实现,可以帮助您深入挖掘。

    这是规范:http://docs.oasis-open.org/cmis/CMIS/v1.1/CMIS-v1.1.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      • 2021-09-05
      • 1970-01-01
      • 2018-01-07
      • 1970-01-01
      相关资源
      最近更新 更多