CmisUnauthorizedException:Unauthorized – 使用Apache Chemistry库连接到Sharepoint 2013时出错

我担心使用Apache Chemistry库通过CMIS连接到Sharepoint 2013。

我收到未经授权的错误 ,但我使用的凭证(U / P)是正确的。

我用它来登录Sharepoint Online,因此应该处理我的代码。

希望有人能帮我解决这个问题。 谢谢!

请参阅下面的代码我用来创建一个到Sharepoint的会话:

public Session fillParams() {//define some values for the connection string String rest_base = "http:///sites/_api/web/"; String repository_id = "c013ab76-4821-489f-9a1c-1d43bfce1c32"; String atompub_url = rest_base + "/" + repository_id + ""; String username ="notTobeShown"; String password = "notTobeShown"; SessionFactory factory = SessionFactoryImpl.newInstance(); Map parameter = new HashMap(); parameter.put(SessionParameter.ATOMPUB_URL, rest_base); parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value()); parameter.put(SessionParameter.AUTH_HTTP_BASIC, "true"); parameter.put(SessionParameter.USER, username); parameter.put(SessionParameter.PASSWORD, password); System.out.println("Pfft"); List repositories = factory.getRepositories(parameter); System.out.println("repositories: " + repositories.size()); return repositories.get(0).createSession(); } 

有关完整的exception堆栈跟踪,请参阅以下内容:

线程“main”中的exceptionorg.apache.chemistry.opencmis.commons.exceptions.CmisUnauthorizedException:未经授权在org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:466)org .apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.read(AbstractAtomPubService.java:619)at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.getRepositoriesInternal(AbstractAtomPubService.java: 782)org.apache.chemistry.opencmis.client.bindings.spi.atompub.RepositoryServiceImpl.getRepositoryInfos(RepositoryServiceImpl.java:65)at org.apache.chemistry.opencmis.client.bindings.impl.RepositoryServiceImpl.getRepositoryInfos(RepositoryServiceImpl。 java:88)org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:133)at org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:111)在 sample.CMISConnect.fillParams(CMISConnect.java:35)at sample.CMISConnect.main(CMISConnect.java:42)

点击网站页面右上角的齿轮图标。 转到网站设置 – >管理“网站操作”下的网站function。 在这个’CMIS生产者’必须是活跃的。

确保SharePoint网站上的“Cmis Producer”设置处于活动状态。如果问题仍然存在,您可以尝试NTLM身份validation。您可以考虑以下代码:

 String atompub_url = "http:///_vti_bin/cmis/rest/?getRepositoryInfo"; //put everything into a HashMap Map parameter = new HashMap(); parameter.put(SessionParameter.USER,); parameter.put(SessionParameter.PASSWORD, ); parameter.put(SessionParameter.ATOMPUB_URL, atompub_url); parameter.put(SessionParameter.BINDING_TYPE,BindingType.ATOMPUB.value()); parameter.put(SessionParameter.AUTHENTICATION_PROVIDER_CLASS, CmisBindingFactory.NTLM_AUTHENTICATION_PROVIDER); parameter.put(SessionParameter.REPOSITORY_ID, ); SessionFactory factory = SessionFactoryImpl.newInstance(); session = factory.createSession(parameter); 
Interesting Posts