如何获得授权使用... _ vti_bin / search.asmx?
我设法设置上述Web服务的服务引用。
在Sharepoint端口80站点上禁用匿名访问。
这是我在VS 2010中的代码:
DocSystemApplication.QueryWebServiceProxy.QueryServiceSoapClient client = new DocSystemApplication.QueryWebServiceProxy.QueryServiceSoapClient();
client.ClientCredentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
string queryXML = @" .... ";
System.Data.DataSet dataset = client.QueryEx(queryXML);
这给出了运行时异常:
HTTP请求未经授权使用客户端身份验证方案 '匿名'。从服务器收到的身份验证标头是 '协商,NTLM'。
一个相关的问题是我找到的例子似乎没有使用“QueryServiceSoapClient”而只是“QueryService”?
任何建议将不胜感激。 // Lars S
答案 0 :(得分:2)
我自己找到了答案。
在app.config中有一个security mode="None"
部分,
并在下一行... transport clientCredentialType="None" proxyCredentialType="None" realm=""
我将其更改为mode="TransportCredentialOnly"
和... clientCredentialType="Ntlm" proxyCredentialType="Ntlm" realm=""
它开始工作了!
我们发现了这个建议here。