2016-02-05 54 views
2

我使用的化學opencmis版本0.13.0連接到露天repository.Below是代碼片段錯誤化學OpenCmis而獲得根文件夾

Map<String, String> parameter = new HashMap<String, String>(); 

    // user credentials 
    parameter.put(SessionParameter.USER, "admin"); 
    parameter.put(SessionParameter.PASSWORD, "admin"); 

    // connection settings 
    parameter.put(SessionParameter.ATOMPUB_URL, "http://localhost:8080/alfresco/cmisatom"); 
    parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value()); 

    // set the alfresco object factory 
    parameter.put(SessionParameter.OBJECT_FACTORY_CLASS, "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl"); 

    // create session 
    SessionFactory factory = SessionFactoryImpl.newInstance(); 
    Session session = factory.getRepositories(parameter).get(0).createSession(); 

我能夠創建一個會話,但在做以下操作

session.getRootFolder(); 

我得到下面的異常

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/chemistry/opencmis/client/api/TransientCmisObject at org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl.convertObject(AlfrescoObjectFactoryImpl.java:297) at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getObject(SessionImpl.java:523) at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getRootFolder(SessionImpl.java:735) at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getRootFolder(SessionImpl.java:729) at cmisops.CMISConnect.main(CMISConnect.java:60) Caused by: java.lang.ClassNotFoundException: org.apache.chemistry.opencmis.client.api.TransientCmisObject at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 5 more

我使用chemis試穿opencmis客戶端的API-0.13.0,化學,opencmis-客戶綁定-0.13.0,化學,opencmis-客戶IMPL-0.13.0,化學,opencmis公地-API-0.13.0,chemistry- opencmis-commons-impl-0.13.0,alfresco-opencmis-extension-0.3

我使用的是Alfresco enterprise 5.0版本。

回答

2

嘗試使用此端點,而不是你所使用的一個:

http://<hostname>:<port>/alfresco/api/-default-/public/cmis/versions/1.1/atom

,並請參閱this page到ADRESS任何CMIS在露天的結合問題。


UPDATE:的OP solved the issue通過setting a repository id in his session parameters

+0

通過在設置會話時將庫標識添加爲參數來解決此問題。它的工作現在很好。 – user2361591

+0

@ user2361591請注意,您連接的端點僅作爲傳統資源提供,並且可能在未來 –

+0

中被刪除,即使我使用您向我提供的代碼減去存儲庫ID的網址,它仍會給我提供該錯誤。所以看起來庫ID是強制性的 – user2361591