我有一个与 Alfresco 和 IBM FileNet P8 等内容系统集成的应用程序。我们有一个我需要集成的 SP 2010 系统。SP 系统通过基于声明的身份验证进行保护,并且 CMIS Producer 已添加到 2010 服务器。我发现,除非我启用基本身份验证,否则我的应用程序和其他工具(例如 CMIS Workbench)都无法连接。
例如,我尝试以下操作:
Dim ws As WS_CMIS.RepositoryServicePortClient = Nothing
ws = New WS_CMIS.RepositoryServicePortClient(endpointConfigurationName:=endpointConfigurationName)
ws.ClientCredentials.UserName.UserName = MyUserName
ws.ClientCredentials.UserName.Password = MyPassword
DropDownListQuery.Items.Clear()
For Each rep As WS_CMIS.cmisRepositoryEntryType In ws.getRepositories(Nothing)
DropDownListQuery.Items.Add(rep.repositoryId)
Next
但是,当我发出 ws.getRepositories 时,我收到 401 auth 错误。此代码适用于 Alfresco、FileNet 等。
endpointConfigurationName 指向 web.config 的 system.servicemodel.client 部分中的这个条目:
endpoint name="RepositoryServicePortSP" address="http://avs-sharep2013/sites/Sandbox1/_vti_bin/cmis/soap/RepositoryService.svc"
binding="basicHttpBinding" bindingConfiguration="RepositoryServicePortBindingSP" contract="WS_CMIS.RepositoryServicePort"/>
bindingConfiguration(在 system.service.model.bindings.basicHttpBinding 中)如下所示:
<binding name="RepositoryServicePortBindingSP" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="1048576" maxBufferPoolSize="1048576" maxReceivedMessageSize="1048576"
messageEncoding="Mtom" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" proxyCredentialType="None"
realm="Default Realm" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
我是 WCF 配置的相对新手,所以我的猜测是我的答案是修改端点和绑定的配置。
另一方面,我在 SharePoint 论坛网站上收到的回复表明,SP 2010 可能仅支持对 CMIS Producer 的有限形式的身份验证:
任何人都有使用 SharePoint 和 CMIS Producer 以及基本和摘要式身份验证以外的任何东西的经验吗?
如果是这样,任何有关如何配置上述 WCF 设置的帮助/指针将不胜感激。
谢谢