微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.NET 5.0 中带有 BinarySecurityToken 的 C# WCF 服务客户端

如何解决.NET 5.0 中带有 BinarySecurityToken 的 C# WCF 服务客户端

我有一个 .NET 5 应用程序需要调用 WCF 服务,该服务使用 wsse:BinarySecurityToken 标头元素携带从单独服务获得的身份验证令牌。

我有一个 WSDL 和从中生成的客户端类。

不存在其他安全标头,如下所示(删除了一些标识值):

  <soap:Header>
    <wsse:Security>
      <wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="Something" wsu:Id="SecurityToken-SomeGUID" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">Token value goes here</wsse:BinarySecurityToken>
    </wsse:Security>
  </soap:Header>

我花了一些时间在谷歌上搜索这个,但似乎适合与从 WSDL 生成的 SOAP 客户端一起使用的对 BinarySecurityToken 的唯一引用是指 .NET 2.0。

我在 .NET 5 WCF 中找不到任何可以添加内容内容。 我是否只需要构建自己的标题/信封,将从 WSDL 生成的类序列化为 XML,然后将其塞入我手工构建的 XML 并将其发布到 WCF 服务?这是一个有效的解决方案,但有点棘手。

很遗憾,我们正在调用的服务无法更改,因为它是第三方服务。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。