如何将WSSE标头添加到我的Web服务客户端?

时间:2013-01-15 13:45:40

标签: web-services header ws-security soapheader

我想在ASP 3.5上将wsse Security标头添加到我的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服务参考创建此信封。我应该使用哪个类将用户名信息添加到信封中?

1 个答案:

答案 0 :(得分:0)

谢谢约翰和拉迪斯拉夫。

原来你应该通过web.config文件添加标题来获得正确排序的SOAP消息。否则.Net会尝试使用自己的封装嵌套你的代码(即使你不要求它),并因此发送一些垃圾。