Alfresco CMIS是文档的默认url吗?

Alfresco CMIS是文档的默认url吗?,alfresco,apache-chemistry,Alfresco,Apache Chemistry,像Google和Box这样的云存储服务为所有文件提供了一个可共享的url端点。差不多 在大多数服务器实现中是否有默认的cmis值来获取这种url?如果不是,Alfresco酒店的名称是什么?如果您转到: 与 用户=管理员,密码=管理员 您将能够看到(例如根集合)文件列表及其相对可共享URL。 CMIS接口在本地Alfresco实例中也可用,因此您应该能够在那里检查它。 希望能有帮助 CMIS是企业内容管理(ECM)存储库的行业标准。Alfresco同时符合CMIS 1.0和CMIS 1.1。CM

像Google和Box这样的云存储服务为所有文件提供了一个可共享的url端点。差不多

在大多数服务器实现中是否有默认的cmis值来获取这种url?如果不是,Alfresco酒店的名称是什么?

如果您转到: 与

用户=管理员,密码=管理员

您将能够看到(例如根集合)文件列表及其相对可共享URL。 CMIS接口在本地Alfresco实例中也可用,因此您应该能够在那里检查它。
希望能有帮助

CMIS是企业内容管理(ECM)存储库的行业标准。Alfresco同时符合CMIS 1.0和CMIS 1.1。CMIS 1.0支持两个绑定,一个在SOAP上,另一个在Atom发布协议上。在CMIS 1.1中,添加了一个新的“绑定”,称为浏览器绑定

问题的答案取决于您使用的绑定

浏览器绑定

使用浏览器绑定,您发布HTML表单以创建新对象,当您发出GETs时,您将返回JSON

在CMIS 1.0中,URL结构完全依赖于基础存储库。使用CMIS 1.1浏览器绑定,URL结构由规范指定

例如,在Alfresco 4.2.x中,CMIS 1.1浏览器绑定的“服务URL”为:

http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser
下面的所有内容都是基于规范的。因此,如果我想获得列出位于“/test”下文件夹中对象的JSON,我会:

http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser/root/test
对于你最初的问题,如果我想要一个对象,并且我知道它的对象ID,我可以使用:

http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser/root?objectId=f5681ba1-a4da-4183-82be-8f1869d7310d;3.0
返回对象本身,或:

http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser/root?objectId=f5681ba1-a4da-4183-82be-8f1869d7310d;3.0&cmisselector=object
如果需要有关对象的元数据

因此,当您使用CMIS浏览器绑定时,不需要属性来告诉您对象的URL,您只需要服务URL和对象的对象ID

AtomPub绑定

如果您使用的是AtomPub绑定,那么URL结构不是由规范定义的,而是由存储库定义的。因此,在使用Atom Pub绑定时,没有标准方法通过URL跨不同CMIS服务器检索内容

但是,给定内容片段的“内容URL”作为内容片段的Atom条目的一部分返回。您将在atom:content元素的src属性中找到它

例如,在Alfresco 4.2.f上运行curl或类似工具,我可以使用内容的ID获取内容的atom条目,如下所示:

http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.0/atom/entry?id=f5681ba1-a4da-4183-82be-8f1869d7310d%3B3.0
查看返回的XML,我看到了以下内容:

<atom:content src="http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.0/atom/content/test.txt?id=f5681ba1-a4da-4183-82be-8f1869d7310d%3B3.0" type="text/plain"/>

所以我可以直接转到这个URL来检索内容


因此,如果您可以访问Atom响应,您可以获取该值,并获得您的URL。但是,请注意,如果最终用户调用此URL,将提示他们通过基本身份验证提供露天凭据。如果这对您不起作用,您必须编写一个代理来获取内容并将其流回到用户。

谢谢。我在化学中有session对象(在我的例子中是DotCMIS),我通过GetObjectByPath或GetObject及其id获得ICMiSubject。有一些方法可以获取创建日期、上次修改时间等,但没有方法可以获取下载url/共享url。我根据您使用DotCMIS的消息更新了我的答案。您没有具体说明您使用的是哪个绑定,但我假设您使用的是AtomPub绑定。有没有办法在openCMIS中获取该URL?(工作台显示了它,所以我想一定有办法?)开源FTW`private String getDocumentURL(最终CmisObject文档,最终会话){if(!(document instanceof document)){return null;}if(Session.getBinding().getObjectService()instanceof LinkAccess){return((LinkAccess)session.getBinding().getObjectService()).loadContentLink(session.getRepositoryInfo().getId(),document.getId());}返回null;}`