Sharepoint Web 服务 401 错误

问题描述 投票:0回答:3

我正在尝试在 C# 控制台应用程序中调用 sharepoint webservices。当我使用本地系统的 WSS 作为目标应用程序时,代码可以正常工作,但不能与可通过网络访问的其他服务器一起使用。以下是我的代码。

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. 如果将 Web 服务端点粘贴到浏览器中,则会成功列出 Web 服务方法。 3. 在所有情况下(访问远程服务器)我都会收到 401 未经授权的错误。

我错过了什么吗?

sharepoint-2007 moss
3个回答
1
投票

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


0
投票

您检查过您的应用程序池帐户吗?可能是您的应用程序池帐户没有足够的权限。将您的应用程序池帐户更改为对您的网站具有完全权限的帐户,然后重试。应该可以。

我还发现,如果您安装 Microsoft Windows XP Service Pack 2 (SP2) 或 Microsoft Windows Server 2003 Service Pack 1 (SP1),这可能是一个已知问题。要解决此问题,您可以按照此知识库文章中的步骤操作 - http://support.microsoft.com/?scid=kb;en-us;896861&x=14&y=17


0
投票

您是如何发现服务器存在访问权限问题的?您能告诉我们更多相关信息吗? 您的服务器所在网络是否有限制?

© www.soinside.com 2019 - 2024. All rights reserved.