Невозможно создать папку в репозитории через CMIS

Я новичок в этом и пытаюсь создать папку в репозитории, но она показывает какое-то исключение. Помогите мне с этим заранее спасибо.

Вот мой код

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

Получение этой ошибки ----- Исключение в потоке «основной» AbstractAtomPubService.java:482) в 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)


person AsHish yadav    schedule 12.03.2018    source источник


Ответы (1)


Путь к корневой папке — /, и вы добавляете к нему /folderName. Таким образом, последний путь, который вы отправляете на сервер, — //folderName, и это недопустимый путь.

Используйте метод getObjectByPath(String parentPath, String name) для объединения путей сохранения.

person Florian Müller    schedule 12.03.2018