未授权search.asmx网络服务?

时间:2010-10-15 08:41:06

标签: sharepoint search

如何获得授权使用... _ 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

1 个答案:

答案 0 :(得分:2)

我自己找到了答案。

在app.config中有一个security mode="None"部分, 并在下一行... transport clientCredentialType="None" proxyCredentialType="None" realm=""

我将其更改为mode="TransportCredentialOnly"和... clientCredentialType="Ntlm" proxyCredentialType="Ntlm" realm=""

它开始工作了!

我们发现了这个建议here