.NET 调用 SharePoint Web 服务收到 HTTP 401 未经授权的异常

标签 .net web-services sharepoint active-directory ntlm

我正在尝试调用 SharePoint 列表服务来获取列表定义和数据。 SharePoint 网站是我的公司,但我无法控制它。以下是我对服务器安全性的了解:

服务器是 HTTPS:// 服务器在登录时接受 Windows Active Directory 凭据...

我尝试过 Basic、Digest、CredentialCache,只是 NetworkCredential、UnsafeAuthenticatedConnectionSharing、UseDefaultCredentials、PreAuthenticate...不确定正确的配置是什么...

我收到的错误是 HTTP 401 Unauthorized。

                Uri url = new Uri(baseAddress + "/_vti_bin/Lists.asmx", UriKind.Absolute);
                Lists.Lists client = new Lists.Lists();

                // sometimes works
                CredentialCache cache = new CredentialCache();
                cache.Add(url, "NTLM", new NetworkCredential(context.UserName, context.Password, context.Domain));
                client.UseDefaultCredentials = false;
                client.Credentials = CredentialCache.DefaultCredentials;
                // doesn't work ever
                //client.Credentials = new NetworkCredential(context.UserName, context.Password, context.Domain);
                //client.PreAuthenticate = true;
                client.UnsafeAuthenticatedConnectionSharing = true;
                client.Url = url.AbsoluteUri;
                listData = client.GetList(listName).OuterXml;

最佳答案

此代码是否在与 SharePoint 相同的服务器上本地运行 - 如果是这样,那么它可能是 local loopback check

如果没有,那么您需要提供一些准确的详细信息 - 您的网站是否使用集成身份验证(如果是,是通过 NTLM 或 Kerberos)还是基本身份验证或表单?

此外 - 如果您尝试使用浏览器(以获取 WSDL)或 Web 服务测试工具(例如 SoapUI)来使用该 Web 服务,会发生什么情况?或one of the many alternatives

关于.NET 调用 SharePoint Web 服务收到 HTTP 401 未经授权的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4953291/

相关文章:

javascript - 来自 $rootscope 的 Angularjs 服务调用导致无休止的迭代循环

c# - 将RichTextBox中的文本转换为语音

javascript - 使用 ajax 和 asp.net 将文件保存到 SQL Server 数据库

java - 通过 HTTPS 的 RESTful Web 服务

python - 在 Python 中下载 Sharepoint Excel 文件

SharePoint 错误 movesiteTitle() 每当页面加载后出现错误

c# - 在 C# 中将 PDF 导出为 JPG

c# - 打开带有 .cs 扩展文件的项目?

.net - 如何向 .NET 应用程序添加安全的 FTP 功能

.net - erlang 中的 SOAP 网络服务