我有一个与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设置的帮助/指示都会受到高度赞赏。
由于