【发布时间】:2018-02-09 22:26:03
【问题描述】:
我已经在本地安装了 SSRS 2017。我正在尝试在 VS2015 中使用自动生成的 SOAP 客户端调用 Web 服务(可能已经过时,但我别无选择):
var cl = new ReportingService2010SoapClient();
cl.ClientCredentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
CatalogItem[] catalogItems;
var res = cl.ListChildren(new TrustedUserHeader {}, "/", false, out catalogItems);
结果是下面的异常:
发生 System.ServiceModel.Security.MessageSecurityException
HResult=-2146233087 Message=HTTP 请求未经授权 客户端身份验证方案“匿名”。身份验证标头 从服务器收到的是“NTLM”。来源=mscorlib
我了解我的身份验证尝试不完整,但我正在阅读文档和示例一段时间,但没有结果。
相关文档:
- https://blogs.msdn.microsoft.com/dataaccesstechnologies/2017/09/15/sql-server-reporting-services-2016-integration-with-an-application/
- https://docs.microsoft.com/en-us/sql/reporting-services/report-server-web-service/accessing-the-soap-api
更新:另外,我想避免弄乱用户名/密码,并希望重用 Windows 机制。
【问题讨论】:
标签: c# .net authentication soap reporting-services