使用 openCMIS Workbench 登录到 SharePoint 2013 存储库时出错



使用 OpenCMIS Workbench 0.8.0,我可以很好地加载 sharepoint 2013 (GA) 存储库,但是当我尝试登录到其中一个存储库(如文档)时出现以下错误:

"参数无效:服务方法的一个或多个输入参数缺失或无效"

找到了一个带有一些说明的博客,但这些对我不起作用:http://dhartford.blogspot.com/2013/01/sharepoint-2013-w-apache-chemistry-cmis.html?showComment=1359398536275#c6910049622927723676

注意:这是我正在使用的服务 url 格式:http://myserver.xxx.com/MYSITE/cmis/_vti_bin/cmis/rest?getRepositories

有人知道问题出在哪里吗?

以下是来自工作台的堆栈跟踪:

> 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

我注意到的另一件事是,当我从浏览器中使用它们时,服务文档中的任何 URL 都不起作用。所以我认为服务文档没有有效的网址。

尝试最新的CMIS Workbench: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

没有时间发布解决方案,但这里基本上是我从Microsoft那里得到帮助后必须做的事情。我错过了下面的步骤B:

A. 为子网站激活 CMIS 功能

  1. 转到 SharePoint 2013 管理中心
  2. 单击"站点
  3. "链接,然后单击您的子站点。或者直接导航到它。例如 http://myserver/mysitename
  4. 单击"设置"
  5. 图标(齿轮右上角),然后选择"站点设置"
  6. 在"网站操作"下,单击"管理网站功能
  7. 单击 CMIS 生产者的激活。

B. 检查备用访问映射

  1. 转到"管理中心"页
  2. 在"系统设置"下,单击"配置备用访问映射"
  3. 应至少有两个网址。一个具有服务器短名称,另一个具有服务器全名。
  4. 如果缺少该网址,请点击"添加内部网址"图标
  5. 对于备用访问映射集合,单击"无选择"链接,更改并选择:
    • SharePoint - 80
    • 设置网址,例如 http://myserver.usa.com(完整域名)
    • 设置区域:任何如内联网
  6. 点击保存

我的建议是:

  • 启动工作台,尚未登录
  • 关闭连接弹出窗口
  • 打开日志窗口,右上角的按钮
  • 将日志级别提高到 DEBUG 或更详细
  • 尝试连接
  • 再次检查日志,可能将其发布在此处

问题的实际根源是缺少备用访问映射。不知道为什么它首先丢失了。

因此,我添加了一个具有完整服务器名称地址而不仅仅是短名称的内部 URL。一位微软开发人员帮助我解决了这个问题。

在启动OpenCMIS之前从Internet Explorer中删除任何代理设置,同时重置任何系统范围的代理设置:netsh winhttp reset proxy

确保共享点 Web 应用设置为仅接受基本身份验证,如你提到的博客文章中所述

从IE和系统范围内删除代理解决了我的问题..我现在可以使用OpenCMIS登录到sharepoint 2013

啊,在我忘记应该http://server:port/_vti_bin/cmis/rest/?getRepositories URL语法之前

祝你好运

相关内容

  • 没有找到相关文章

最新更新