Search code examples
sharepoint-2013cmisopencmiscmis-workbench

Login error to Sharepoint 2013 repository using openCMIS Workbench


using the OpenCMIS Workbench 0.8.0, I can load the sharepoint 2013 (GA) repositories fine but get the following error when I try to login to one of the repositories such as Documents:

"Invalid Argument: One or more of the input parameters to the service method is missing or invalid"

Found a blog with some instructions but those didn't work for me: http://dhartford.blogspot.com/2013/01/sharepoint-2013-w-apache-chemistry-cmis.html?showComment=1359398536275#c6910049622927723676

Note: Here is the service url format that I am using: http://myserver.xxx.com/MYSITE/cmis/_vti_bin/cmis/rest?getRepositories

Does anybody know what the problem is?

Here is the stack trace from Workbench:

> 11:05:17 DEBUG ncmis.client.bindings.spi.http.HttpUtils: GET http://MYServer/_vti_bin/cmis/rest/f8134afe-176a-4c48-9fd2-a9f97e5dc91d?getTypeDefinition&typeId=cmis%3Adocument
> 11:05:17 TRACE ncmis.client.bindings.spi.http.HttpUtils: GET http://MYServer/_vti_bin/cmis/rest/f8134afe-176a-4c48-9fd2-a9f97e5dc91d?getTypeDefinition&typeId=cmis%3Adocument > Headers: {null=[HTTP/1.1 400 One or more of the input parameters to the service method is missing or invalid.], Server=[Microsoft-IIS/7.5], SPRequestDuration=[124], SPIisLatency=[27], X-FRAME-OPTIONS=[SAMEORIGIN], Content-Type=[plain/text; charset=utf-8], Date=[Wed, 30 Jan 2013 19:05:02 GMT], X-SharePointHealthScore=[1], Cache-Control=[private], X-Content-Type-Options=[nosniff], X-Powered-By=[ASP.NET], X-MS-InvokeApp=[1; RequireReadOnly], request-id=[5ef0f99b-24ec-909f-6192-6eaf6feccabc], Content-Length=[167], MicrosoftSharePointTeamServices=[15.0.0.4420], SPRequestGuid=[5ef0f99b-24ec-909f-6192-6eaf6feccabc], X-AspNet-Version=[4.0.30319]}
> 11:05:17 ERROR hemistry.opencmis.workbench.ClientHelper: CmisInvalidArgumentException: One or more of the input parameters to the service method is missing or invalid.
org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException: One or more of the input parameters to the service method is missing or invalid.
    at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:423)
    at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.read(AbstractAtomPubService.java:554)
    at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.getTypeDefinitionInternal(AbstractAtomPubService.java:821)
    at org.apache.chemistry.opencmis.client.bindings.spi.atompub.RepositoryServiceImpl.getTypeDefinition(RepositoryServiceImpl.java:88)
    at org.apache.chemistry.opencmis.client.bindings.impl.RepositoryServiceImpl.getTypeDefinition(RepositoryServiceImpl.java:137)
    at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getTypeDefinition(SessionImpl.java:518)
    at org.apache.chemistry.opencmis.workbench.model.ClientSession.createOperationContexts(ClientSession.java:244)
    at org.apache.chemistry.opencmis.workbench.model.ClientSession.createSession(ClientSession.java:195)
    at org.apache.chemistry.opencmis.workbench.LoginDialog$2.actionPerformed(LoginDialog.java:204)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2006)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2329)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:398)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:253)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:247)
> 11:05:17 ERROR hemistry.opencmis.workbench.ClientHelper: Error code: 0

Another thing that I noticed is that none of the URLs from the service document work when I use them from a browser. So i think the service doc doesn't have valid urls.


Solution

  • Didn't have the time to post the solution but here is basically what I had to do after getting help from Microsoft. I was missing Step B below:

    A. Activate the CMIS feature for your sub site

    1. Go to the Sharepoint 2013 Central Administration
    2. Click on the Sites link and then click on your sub site. Or navigate directly to it. eg http://myserver/mysitename
    3. Click on the Settings icon (gear top right) and then select Site Settings
    4. Under Site Actions, click Manage Site Features
    5. Click Activate for the CMIS producer.

    B. Check Alternate Access Mappings

    1. Go to the Central Administration page
    2. Under System Settings, click Configure Alternate Access Mappings
    3. There should be at least two urls. One with server short name and one with server full name.
    4. If the url is missing, click Add Internal Urls
    5. For the Alternate Access Mapping Collection, click the No Selection link, change and select:
    6. Click Save