我有一个自定义 Web 服务部署到 WSS 3 中。它有两个 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(登录名,密码,域);)但这没有帮助。
我尝试使用类似的场景调用内置的 SharePoint Web 服务,它们工作得很好:
很抱歉犯了这个错误...如果没有适当的权限,某些方法将无法正常工作。
var service = new GroupsService();
service.Url = [url];
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
service.SomeMethod();
最佳答案
关于SharePoint 自定义 Web 服务消耗问题 - HTTP 401 : Unauthorized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1524734/