如何将安全头添加到SOAP消息?
我正在尝试使用我们的提供商从C#App中使用Java编写的WebService。 什么时候沟通,我得到这个:
WSDoAllReceiver:传入消息不包含必需的安全标头
从昨天开始,我正在尝试找出如何将安全头添加到SOAP消息中。
是的,我读过这篇文章( 对如何创建SOAP 标题无能为力 )但它没有用。
我环顾四周,这似乎是个问题。 我想知道我是否可以在这里得到一些帮助,一些指针,一些代码,让我开始。
我实际上通过使用WSE实现了这一目标。 有趣的是,提供商的Web服务不适用于WSE 3.0,但他们使用WSE 2.0。 这是步骤
- 获取WSE 2.0
- 将Web引用添加到项目中
- 在Web Reference代理实现中:
更换
public partial class UserWS : System.Web.Services.Protocols.SoapHttpClientProtocol
通过
public partial class UserWS : Microsoft.Web.Services2.WebServicesClientProtocol
- 在调用Web服务之前:
设置身份validation信息
UsernameToken token = new UsernameToken("user", "pwd", PasswordOption.SendPlainText); yourProxy.RequestSoapContext.Security.Tokens.Add(token);
就是这样! 仅供参考,提供商是Blackboard实例。