【发布时间】:2009-10-06 10:20:22
【问题描述】:
我在 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();
【问题讨论】:
标签: sharepoint web-services wss-3.0 unauthorized