java - 尝试使用 CMIS 从 Alfresco 5.0 存储库获取FolderRoot 时出现 "Unkown repository"错误

标签 java alfresco cmis

我安装了新的 alfresco 社区版本 5.0.a。我正在尝试使用 java 连接器服务来上传/下载可在 4.2.c 露天安装中正常工作的文件。

此连接器应用程序使用chemistry-opencmis-client-api-0.8.0。

使用连接器上传文件时,我打开连接,获取存储库,并且还可以正确获取存储库根文件夹 ID:

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

parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());
parameter.put(SessionParameter.ATOMPUB_URL , url );
parameter.put(SessionParameter.USER        , user);
parameter.put(SessionParameter.PASSWORD    , pass);

if (repository_id != null)
    parameter.put(SessionParameter.REPOSITORY_ID, repository_id);

List<Repository> repos = sessionFactory.getRepositories(parameter);     
Repository repo = repos.get(0);
log.debug("REPO ID: " + repo.getId());
log.debug("REPO ROOT FOLDER ID: " + repo.getRootFolderId());        

然后我创建 session :

Session session = repo.createSession();

但是当我想获取根文件夹对象时:

Folder folder = session.getRootFolder();

我收到“CmisObjectNotFoundException:未知存储库”错误:

org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException: Unknown repository! at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.getObjectInternal(AbstractAtomPubService.java:768) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.ObjectServiceImpl.getObject(ObjectServiceImpl.java:516) at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getObject(SessionImpl.java:403) at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getObject(SessionImpl.java:377) at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getRootFolder(SessionImpl.java:482) at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getRootFolder(SessionImpl.java:476) at com.test.ecm.EcmConnector.open(EcmConnector.java:62) at com.test.ecm.WebServiceController.post(WebServiceController.java:99) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) at javax.servlet.http.HttpServlet.service(HttpServlet.java:751) at javax.servlet.http.HttpServlet.service(HttpServlet.java:844) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:238) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3363) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3333) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57) at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564) at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295) at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)

导致此错误的原因是什么?

最佳答案

您使用的服务 URL 不正确。根据documentation ,CMIS 1.0 和 ATOM 绑定(bind)的 URL 为:

https://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.0/atom

关于java - 尝试使用 CMIS 从 Alfresco 5.0 存储库获取FolderRoot 时出现 "Unkown repository"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59886106/

相关文章:

javascript - 在 Thymeleaf 中,如何使用单独的 HTML 和 JavaScript 解析器将 JavaScript 从文件复制到生成的 HTML 中

java - 如何仅从一个按钮检查(标记为已选中)程序(或复选框)中的按钮?

Java Fx 如何引用类中添加的元素

alfresco - 如何使用 cmis api 从 Alfresco 中的文档 ID 获取文件夹详细信息

java - 使用 CMIS 连接到 Alfresco

repository - JCR 与 CMIS : Which repository API should I use?

java - Scala 的数值库

javascript - 使用 Alfresco 网页脚本进行文档预览配置

javascript - Alfresco:获取当前表单节点

java - 如何上传新版本的文档使用 alfresco restful api?