【问题标题】:How to authenticate into a Report Server Web Service?如何在报表服务器 Web 服务中进行身份验证?
【发布时间】: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

我了解我的身份验证尝试不完整,但我正在阅读文档和示例一段时间,但没有结果。

相关文档:

更新:另外,我想避免弄乱用户名/密码,并希望重用 Windows 机制。

【问题讨论】:

    标签: c# .net authentication soap reporting-services


    【解决方案1】:

    您是第一次配置 WCF 客户端吗?使用 Microsoft 服务配置编辑器(在 VS 中:工具 > WCF 服务配置编辑器)!

    使用工具很容易:

    <basicHttpBinding>
        <binding name="ReportingService2010Soap">
            <security mode="TransportWithMessageCredential">
                <transport clientCredentialType="Ntlm" />
            </security>
        </binding>
    </basicHttpBinding>
    

    【讨论】:

      猜你喜欢
      • 2011-08-14
      • 1970-01-01
      • 2012-07-28
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-10
      • 1970-01-01
      相关资源
      最近更新 更多