gpt4 book ai didi

c# - 如何将安全 header 添加到 SOAP 消息?

转载 作者:太空狗 更新时间:2023-10-29 19:58:54 26 4
gpt4 key购买 nike

我正在尝试从我们的 C# 应用程序中使用由我们的提供商用 Java 编写的 WebService。到了交流的时候,我得到了这个:

WSDoAllReceiver: Incoming message does not contain required Security header

从昨天开始,我就在尝试找出如何将安全 header 添加到 SOAP 消息中。

是的,我读过这个 ( Clueless about how to create SOAP <wsse:Security> header ) 但它没有用。

我环顾四周,这似乎是一个被问到的问题。我想知道我是否可以在这里得到一些帮助,一些指导,一些代码,让我开始。

最佳答案

我实际上是通过使用 WSE 实现了这一点。有趣的是,提供商的 Web 服务不能与 WSE 3.0 一起工作,但他们可以与 WSE 2.0 一起工作。以下是步骤

  • 获取WSE 2.0
  • 将 Web Reference 添加到项目中
  • 在 Web Reference 代理实现中:

替换

public partial class UserWS : System.Web.Services.Protocols.SoapHttpClientProtocol

public partial class UserWS : Microsoft.Web.Services2.WebServicesClientProtocol
  • 在调用 Web 服务之前:

设置认证信息

UsernameToken token = new UsernameToken("user", "pwd", PasswordOption.SendPlainText);
yourProxy.RequestSoapContext.Security.Tokens.Add(token);

就是这样!仅供引用,提供商是 Blackboard实例。

关于c# - 如何将安全 header 添加到 SOAP 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5833539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com