如何使用CMIS REST API访问Alfresco中的文件?

我在我的应用程序中安装了Alfresco Community v4.1。 我想使用CMIS REST API访问其内容(列表文件,添加,删除等)。 我没有找到我需要使用的端点的任何示例。 我使用Apache Chemistry实现了一个小型CMIS客户端(你可以在这里获得它的信息)并列出我用户空间的内容,我得到了这个结果:

 [Folder] workspace://SpacesStore/624914c7-3ca2-4937-a612-96f1df928cc1 - Dictionnaire de données [Folder] workspace://SpacesStore/846c69d4-4ec2-44c8-972d-f975d9b98d41 - Modèles d'espace [Folder] workspace://SpacesStore/09fe45df-9cba-4843-a1cb-944807e44267 - Projet de conception logicielle .... [Folder] workspace://SpacesStore/ab5cab42-2b47-4042-a8f5-57bb06007cc3 - Espaces Utilisateurs [Folder] workspace://SpacesStore/86f1c760-905e-4920-98a8-a6bdd10aa732 - ombinte [Folder] workspace://SpacesStore/2dbc6156-fdfa-4ddc-9187-481992570369 - MonProjet [Folder] workspace://SpacesStore/fb3bb96f-3eb0-40a5-a890-3d06d6e781cf - Carnet 200 [Folder] workspace://SpacesStore/b9acaf70-d5d5-4dba-a354-bae63ba96072 - Carnet 100 [Docment] workspace://SpacesStore/9c3c6e63-e217-47a8-8216-298d2419cffa;1.0 - file.pdf 

当我尝试列出节点的内容时,我总是得到404错误。

 http://127.0.0.1:8080/alfresco/service/api/node/content/workspace/SpacesStore/ab5cab42-2b47-4042-a8f5-57bb06007cc3 

在哪里可以找到有关如何为Alfresco实施CMIS REST API的文档?

您可以使用此方法访问存储库

试试这对我来说很好

  private static Session getSession(String serverUrl, String username, String password) { SessionFactory sessionFactory = SessionFactoryImpl.newInstance(); Map params = new HashMap(); params.put(SessionParameter.USER, username); params.put(SessionParameter.PASSWORD, password); params.put(SessionParameter.ATOMPUB_URL, serverUrl); params.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value()); List repos = sessionFactory.getRepositories(params); if (repos.isEmpty()) { throw new RuntimeException("Server has no repositories!"); } return repos.get(0).createSession(); } 

此方法使用您自己的信息从您的存储库中获取会话

 serverUrl : http://" + ipAlfresco + "/alfresco/api/-default-/public/cmis/versions/1.0/atom username : admin password : admin 

希望对你有所帮助。

官方Alfresco文件很好地解释了这一点。 您不应该将CMIS视为REST API本身。 CMIS是一种互操作性标准 ,旨在提供一种通用的,与供应商无关的查询数据的方法。

无论如何……你的问题似乎是你正在使用的noderef是一个文件夹,你所服务的服务不起作用。 试着改为……

 http://127.0.0.1:8080/alfresco/service/api/node/content/workspace/SpacesStore/9c3c6e63-e217-47a8-8216-298d2419cffa 

…看看你是否找到了自己的内容。

对于文件夹,请尝试使用WebDAV链接,例如: http:// localhost:8080 / alfresco / webdav / Sites / swsdp / documentLibrary / Agency%20Files