无法通过CMIS在repositry中创建文件夹

时间:2018-03-12 10:48:11

标签: cmis opencmis dotcmis

我是新手并试图在repositry中创建文件夹,但它显示了一些异常。请事先帮助我。

这是我的代码

SessionFactory sessionFactory = SessionFactoryImpl.newInstance();
    Map<String, String> parameter = new HashMap<String, String>();

    // ECM user credentials
    parameter.put(SessionParameter.USER, "User");
    parameter.put(SessionParameter.PASSWORD, "password");

            parameter.put(SessionParameter.ATOMPUB_URL, "URL");
    parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());

    // Get a list of repositories retrieved by the atompub CMIS endpoint (for Alfresco there is only one element)
    List<Repository> repositories = sessionFactory.getRepositories(parameter);

    // Create CMIS session to the repository
    Session session = repositories.get(0).createSession();
    System.out.println("Root Folder Name: "+session.getRepositoryInfo().getRootFolderId());
    Folder subFolder = null;

    Folder parentFolder = session.getRootFolder();
    try {
      subFolder = (Folder) session.getObjectByPath(parentFolder.getPath() + "/" + "folderName");
      System.out.println("Folder already existed!");
    } catch (CmisObjectNotFoundException onfe) {
      Map props = new HashMap();
      props.put("cmis:objectTypeId",  "cmis:folder");
      props.put("cmis:name", "folderName");
      subFolder = parentFolder.createFolder(props);
      String subFolderId = subFolder.getId();
      System.out.println("Created new folder: " + subFolderId);
    }

获取此错误----- 线程“main”中的异常org.apache.chemistry.opencmis.commons.exceptions.CmisConstraintException:Conflict     at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:482)     at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.post(AbstractAtomPubService.java:629)     在org.apache.chemistry.opencmis.client.bindings.spi.atompub.ObjectServiceImpl.createFolder(ObjectServiceImpl.java:158)     在org.apache.chemistry.opencmis.client.runtime.SessionImpl.createFolder(SessionImpl.java:814)     在org.apache.chemistry.opencmis.client.runtime.FolderImpl.createFolder(FolderImpl.java:136)     在org.apache.chemistry.opencmis.client.runtime.FolderImpl.createFolder(FolderImpl.java:479)     在com.reva.test.main(test.java:55)

1 个答案:

答案 0 :(得分:1)

根文件夹的路径为let heroes:Hero[]; this.getHeroes().subscribe( data=> heroes=data); ,您要向其添加/。因此,您发送到服务器的最终路径为/folderName,这是无效路径。

使用方法getObjectByPath(String parentPath, String name)进行保存路径连接。