SharePoint自定义Web服务使用问题 - HTTP 401:未经授权

时间:2009-10-06 10:20:23

标签: sharepoint web-services wss-3.0 unauthorized

我在WSS 3中部署了自定义Web服务。它有两种Web方法。

第一个返回已加载程序集的版本,而不调用SharePoint对象。 第二个返回有关库的一些基本信息,如:

var spLibrary = [find library logic];
return spLibrary.Name+"@"+spLibrary.Url;

在客户端应用程序中,我有以下内容:

var service = new WebService1();
service.Url = [url];
service.Credentials = System.Net.CredentialCache.DefaultCredentials;

service.Method1();
service.Method2();

当客户端应用程序在部署了SharePoint的计算机上运行时,一切正常。

当客户端应用程序在远程计算机上运行(但在同一用户下)时,第一个方法仍然有效,但第二个方法抛出System.Net.WebException:HTTP 401:Unauthorized。

我曾尝试手动设置凭据(service.Credentials = new System.Net.NetworkCredential(login,password,domain);)但这没有帮助。

我尝试使用类似的方案调用内置的SharePoint Web服务,它们工作得很好: 抱歉错误...如果没有适当的权限,某些方法无法正常工作。

var service = new GroupsService(); 
service.Url = [url]; 
service.Credentials = System.Net.CredentialCache.DefaultCredentials; 

service.SomeMethod();

1 个答案:

答案 0 :(得分:3)

问题已解决。 用户(该帐户用于与sharepoint交互)获得了网站集管理员权限,一切正常。

这不是双跳问题。

希望这种体验能够帮助其他人。

以下是MSDN论坛主题的link