Sharepoint 2007 Sharepoint Web服务401错误

Sharepoint 2007 Sharepoint Web服务401错误,sharepoint-2007,moss,Sharepoint 2007,Moss,我试图在C#控制台应用程序中调用sharepoint Web服务。当我使用本地系统的WSS作为目标应用程序,但不使用通过web访问的其他服务器时,代码工作正常。下面是我的代码 Webs service = new Webs(); service.PreAuthenticate = true; service.Credentials = new System.Net.NetworkCredential(login, password);

我试图在C#控制台应用程序中调用sharepoint Web服务。当我使用本地系统的WSS作为目标应用程序,但不使用通过web访问的其他服务器时,代码工作正常。下面是我的代码

Webs service = new Webs();
            service.PreAuthenticate = true;
            service.Credentials = new System.Net.NetworkCredential(login, password);
            //service.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

            service.Url = url + @"/_vti_bin/webs.asmx";

            XmlNode sites = null;

            try
            {
                sites = service.GetWebCollection();
            }
            catch (Exception ex)
            {
                return;
            }
注意事项: 1.它既不适用于DefaultNetworkCredentials,也不适用于我的域用户凭据。 2.如果粘贴到浏览器中,则webservice端点将成功列出web服务方法。 3.我在所有情况下都会收到401个未经授权的错误(访问远程服务器)


我遗漏了什么吗?

使用类似Fiddler的工具捕获控制台应用程序和SharePoint之间的http流量。这将有助于调试您的问题所在。

使用类似Fiddler的工具捕获控制台应用程序和SharePoint之间的http流量。这将有助于调试您的问题。

您是否检查了应用程序池帐户?可能是您的应用程序池帐户没有足够的权限。请将您的应用程序池帐户更改为对您的站点具有完全权限的帐户,然后重试。它应该会起作用


我还发现,如果安装Microsoft Windows XP Service Pack 2(SP2)或Microsoft Windows Server 2003 Service Pack 1(SP1),这可能是一个已知问题。要解决此问题,您可以按照本文中的步骤操作-。

您是否检查了应用程序池帐户?可能是您的应用程序池帐户没有足够的权限。请将您的应用程序池帐户更改为对您的站点具有完全权限的帐户,然后重试。它应该会起作用


我还发现,如果安装Microsoft Windows XP Service Pack 2(SP2)或Microsoft Windows Server 2003 Service Pack 1(SP1),这可能是一个已知问题。要解决这个问题,您可以按照KB文章中的步骤进行操作-。

虽然这并没有解决问题,但至少确认我的客户服务呼叫没有问题。服务器上存在访问权限问题。虽然这没有解决问题,但至少确认来自客户端的服务调用没有问题。服务器上存在访问权限问题。