【问题标题】:How can I add WSSE Header to my Web Service Client?如何将 WSSE 标头添加到我的 Web 服务客户端?
【发布时间】:2013-01-15 13:45:40
【问题描述】:

我想将 wsse 安全标头添加到我在 ASP 3.5 上的 Web 服务客户端。我使用这个 Soap Envelope 从 SoapUI 测试 Web 服务并得到答案:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:comp="http://myCompany.org.tr">   <soapenv:Header xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
 <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
 <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"/>
 <wsse:Username>MyUsername</wsse:Username>
 </wsse:Security>
</soapenv:Header>
<soapenv:Body>
    (Body Info.)

   </soapenv:Body>

</soapenv:Envelope>

我想通过 Visual Studi 2012 创建的经典 Web 服务参考创建这个信封。我应该使用哪个类将用户名信息添加到我的信封?

【问题讨论】:

  • 您必须通过自定义 SOAP 标头或自定义 SOAP 扩展手动添加。

标签: web-services header ws-security soapheader


【解决方案1】:

谢谢约翰和拉迪斯拉夫。

事实证明,您应该通过 web.config 文件添加标头以获得正确排序的 SOAP 消息。否则 .Net 会尝试用自己的封装嵌套你的代码(即使你不要求它),结果会发送一些垃圾。

【讨论】:

  • 将自己的答案标记为正确似乎是错误的。
猜你喜欢
  • 1970-01-01
  • 2013-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-24
  • 2010-10-28
  • 2011-11-25
  • 2011-05-02
相关资源
最近更新 更多