Как добавить заголовок WSSE в клиент веб-службы?

Я хочу добавить заголовок безопасности wsse в мой клиент веб-службы на ASP 3.5. Я тестирую веб-сервис из SoapUI, используя этот Soap Envelope, и получаю ответ:

<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. Какой класс следует использовать для добавления информации об имени пользователя в мой конверт?


person Hakan    schedule 15.01.2013    source источник
comment
Вы должны добавить его вручную с помощью пользовательского заголовка SOAP или пользовательского расширения SOAP.   -  person Ladislav Mrnka    schedule 15.01.2013


Ответы (1)


Спасибо Джону и Ладиславу.

Оказывается, вы должны добавить заголовок через файл web.config, чтобы получить правильно упорядоченное сообщение SOAP. В противном случае .Net пытается вложить ваш код в свою собственную капсулу (даже если вы этого не просите) и в результате отправляет какой-то мусор.

person Hakan    schedule 13.01.2015
comment
Отметить свой ответ как правильный просто кажется неправильным. - person rfornal; 13.01.2015