Java &引用;“未知存储库”;尝试使用CMIS从Alfresco 5.0存储库获取FolderRoot时出错
我有一个新的alfresco社区版本5.0.a安装。我正在尝试使用java连接器服务来上传/下载文件,这些文件可以在4.2.c alfresco安装中正常工作 此连接器应用程序使用chemistry-opencmis-client-api-0.8.0 使用连接器上载文件时,我打开连接,获取存储库,还可以正确获取存储库根文件夹id:Java &引用;“未知存储库”;尝试使用CMIS从Alfresco 5.0存储库获取FolderRoot时出错,java,alfresco,cmis,Java,Alfresco,Cmis,我有一个新的alfresco社区版本5.0.a安装。我正在尝试使用java连接器服务来上传/下载文件,这些文件可以在4.2.c alfresco安装中正常工作 此连接器应用程序使用chemistry-opencmis-client-api-0.8.0 使用连接器上载文件时,我打开连接,获取存储库,还可以正确获取存储库根文件夹id: SessionFactory sessionFactory = SessionFactoryImpl.newInstance(); Map<String, St
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());
但当我想要获取根文件夹对象时:
Folder folder = session.getRootFolder();
我收到“CmisObjectNotFoundException:未知存储库”错误:
org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException:
未知存储库!在
org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomSubservice.getObjectInternal(AbstractAtomSubservice.java:768)
在
org.apache.chemistry.opencmis.client.bindings.spi.atompub.ObjectServiceImpl.getObject(ObjectServiceImpl.java:516)
在
org.apache.chemistry.opencmis.client.runtime.SessionImpl.getObject(SessionImpl.java:403)
在
org.apache.chemistry.opencmis.client.runtime.SessionImpl.getObject(SessionImpl.java:377)
在
org.apache.chemistry.opencmis.client.runtime.SessionImpl.getRootFolder(SessionImpl.java:482)
在
org.apache.chemistry.opencmis.client.runtime.SessionImpl.getRootFolder(SessionImpl.java:476)
在com.test.ecm.EcmConnector.open上(EcmConnector.java:62)
在
com.test.ecm.WebServiceController.post(WebServiceController.java:99)
位于的sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
invoke(NativeMethodAccessorImpl.java:57)
在
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
位于java.lang.reflect.Method.invoke(Method.java:606)
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
在
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
在
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
在
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
在
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
在
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
在
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
在
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
在
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
在
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:751)
http.HttpServlet.service(HttpServlet.java:844)位于
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
在
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
在
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
在
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)
在
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:238)
在
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3363)
在
weblogic.servlet.internal.WebAppServletContext$ServletInLocationAction.run(WebAppServletContext.java:3333)
在
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
在
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
在
weblogic.servlet.provider.WLSSObjectHandle.run(WLSSObjectHandle.java:57)
在
weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220)
在
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146)
在
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124)
在
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564)
在
weblogic.servlet.provider.ContainerSupportProviderImpl$WLSRequesteExecutor.run(ContainerSupportProviderImpl.java:254)
在weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)中
weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
此错误的原因可能是什么?您使用的服务URL不正确。根据,CMS的URL为1.0,ATOM绑定为:
类
com.test.ecm.EcmConnector
看起来非常可疑-您添加了哪些其他JAR?有演示的吗?有定制的cmis类吗?请查看此链接是否对您有帮助:@Gagravarr WebServiceController和EcmConnector是我的项目类。没有其他cmis jar。@SanketMehta谢谢,我正在使用alfresco 5的正确url:。
Folder folder = session.getRootFolder();