Login error to Sharepoint 2013 repository using op

2019-04-12 23:42发布

问题:

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.

回答1:

Give the latest CMIS Workbench a try: https://repository.apache.org/content/repositories/orgapachechemistry-166/org/apache/chemistry/opencmis/chemistry-opencmis-workbench/0.9.0-beta-1/chemistry-opencmis-workbench-0.9.0-beta-1-full.zip



回答2:

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:
    • SharePoint - 80
    • Set the url such as http://myserver.usa.com (full domain name)
    • Set Zone: any such as Intranet
  6. Click Save


回答3:

My suggestion would be to:

  • start the Workbench, do not login yet
  • close the connection popup
  • open the Log window with the button on the top right corner
  • increase the log level to DEBUG or more verbose
  • try to connect
  • check the logs again, possibly posting them here


回答4:

The actual root of the problem turned out to be a missing Alternate Access Mapping. Not sure why it was missing in the first place.

So I added an internal url that has the full server name address instead of just the short name. A microsoft dev helped me figure this out.



回答5:

Remove any proxy settings from internet explorer before you launch OpenCMIS, also reset any system wide proxy settings: netsh winhttp reset proxy

Make sure your share point web app is set to accept only basic authentication as described in the blog post you mentioned

Removing the proxy from IE and system wide fixed my problem .. I can now login to sharepoint 2013 using OpenCMIS

ah before i forget the URL syntax should be http://server:port/_vti_bin/cmis/rest/?getRepositories

Good luck