Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Alfresco 如何检索';存储库根目录';CMIS存储库中的id/子项?_Alfresco_Cmis_Opencmis - Fatal编程技术网

Alfresco 如何检索';存储库根目录';CMIS存储库中的id/子项?

Alfresco 如何检索';存储库根目录';CMIS存储库中的id/子项?,alfresco,cmis,opencmis,Alfresco,Cmis,Opencmis,我正在对兼容cmis 1.0的服务器使用库,我注意到每当我在服务器(alfresco v3.2和v5.0服务器)上调用getRepositories时,我只会收到一个包含一个存储库的列表,这与我预期的相反,即服务器上的根列表。如何使用opencmis库检索存储库根列表 编辑 我对这个问题的措辞不恰当,所以我会解释得更好。 我想做的是能够获得实际的存储库根id(例如,将根存储在露天)而不是根文件夹id,这样我就可以利用api来检索它的直接子对象,即与根文件夹(alfresco中的公司主页)处于同一

我正在对兼容cmis 1.0的服务器使用库,我注意到每当我在服务器(alfresco v3.2和v5.0服务器)上调用getRepositories时,我只会收到一个包含一个存储库的列表,这与我预期的相反,即服务器上的根列表。如何使用opencmis库检索存储库根列表

编辑
我对这个问题的措辞不恰当,所以我会解释得更好。

我想做的是能够获得实际的
存储库根id
(例如,将根存储在露天)而不是
根文件夹id
,这样我就可以利用api来检索它的直接子对象,即与根文件夹(alfresco中的公司主页)处于同一层次的对象。

alfresco只有一个存储库,因此您看到的是正确的


要了解如何获取根文件夹(即公司主页),以及如何获取根文件夹的子文件夹,请参阅。

Alfresco只有一个存储库,因此您看到的是正确的


要了解如何获取根文件夹(即公司主页),以及如何获取根文件夹的子文件夹,请参阅。

对我来说效果很好测试它: 首先,您必须创建一个会话并将其与以下内容连接:

private static Session getSession(String serverUrl, String username, String password) {
    SessionFactory sessionFactory = SessionFactoryImpl.newInstance();
    Map<String, String> 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<Repository> repos = sessionFactory.getRepositories(params);
    if (repos.isEmpty()) {
        throw new RuntimeException("Server has no repositories!");
    }
    return repos.get(0).createSession();
} 

希望能帮助您

对我来说效果很好测试它: 首先,您必须创建一个会话并将其与以下内容连接:

private static Session getSession(String serverUrl, String username, String password) {
    SessionFactory sessionFactory = SessionFactoryImpl.newInstance();
    Map<String, String> 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<Repository> repos = sessionFactory.getRepositories(params);
    if (repos.isEmpty()) {
        throw new RuntimeException("Server has no repositories!");
    }
    return repos.get(0).createSession();
} 


希望这能帮助你

你使用的巫术语言@YagamiLight我正在使用Java。我实际上需要获取nodeRef或“store\u root”对象您想获取任何存储库的子对象吗?!?主要的
StoreRef
对象是众所周知的,只需执行类似于
StoreRef StoreRef=newstoreref(StoreRef.PROTOCOL_WORKSPACE,“SpacesStore”)在Java中,您就完成了,不需要CMS@Gagravarr本人仅限于按照项目特定要求使用opencmis库;因为我正在使用通用cmis访问器工具。我一直使用alfresco作为测试cmis,只是因为这是我目前所熟悉的。你使用的巫术语言@YagamiLight我正在使用Java。我实际上需要获取nodeRef或“store\u root”对象您想获取任何存储库的子对象吗?!?主要的
StoreRef
对象是众所周知的,只需执行类似于
StoreRef StoreRef=newstoreref(StoreRef.PROTOCOL_WORKSPACE,“SpacesStore”)在Java中,您就完成了,不需要CMS@Gagravarr本人仅限于按照项目特定要求使用opencmis库;因为我正在使用通用cmis访问器工具。我一直使用alfresco作为测试cmis,只是因为这是我目前所熟悉的。啊,你说得对。我假设与company home位于同一级别的所有其他对象都是存储库根,而我实际需要的是能够获得store_根对象。啊,你说得对。我假设与company home位于同一级别的所有其他对象都是存储库根,而我实际需要的是能够获得store_根对象。为了更清晰,我编辑了这个问题。我已经可以得到根文件夹id,但不能得到我需要的repo根id。有什么反馈吗?!?似乎不可能自己获得store_根对象。为了更清晰,我编辑了这个问题。我已经可以得到根文件夹id,但不能得到我需要的repo根id。有什么反馈吗?!?似乎不可能获取store_根对象本身