如何从CMIS仓库中检索"仓库根"ID/子级?



我使用openCMIS库对cmis 1.0兼容的服务器,我注意到,每当我调用服务器上的getrepository (alfresco v3.2 &v5.0服务器)我只收到一个存储库的列表,而不是我所期望的,即服务器上的根列表。如何使用opencmis库检索存储库根列表?

编辑
我把问题提得不恰当,所以我会解释得更好。我想做的是能够得到实际的 repository root id (即。NOT root folder id ,这样我就可以利用api来检索它的直接子对象,即与根文件夹(Company Home in alfresco)

Alfresco只有一个存储库,所以您看到的是正确的。

要了解如何获取根文件夹(即Company Home),然后如何获取根文件夹的子文件夹,请参见这里。

对我来说很好,测试一下:首先,你必须创建一个会话,并连接它:

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();
} 

之后只使用

Folder folder = session.getRootFolder();

希望对你有帮助

相关内容

  • 没有找到相关文章

最新更新