Как прочитать HTTP заголовки мыла ответа от ответа веб-службы в прокси-классе - PullRequest
2 голосов
/ 04 мая 2010

У меня проблемы с одним веб-сервисом, с которым я работаю. Я сгенерировал прокси-класс с помощью wsdl.exe, который поставляется с .net framework. Но этот веб-сервис возвращает заголовок, который не отображается в wsdl. Я должен сопоставить заголовок SOP, потому что он содержит некоторые свойства, которые я должен читать и работать. как я могу прочитать коллекцию заголовков мыла?

Ex:.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Header xmlns="http://xml.amadeus.com/ws/2009/01/WBS_Session-2.0.xsd">
      <Session>
         <SessionId>545784545</SessionId>
         <SequenceNumber>1</SequenceNumber>
         <SecurityToken>asd7a87sda89sd45as4d5a4</SecurityToken>
      </Session>
   </soap:Header>
   <soap:Body>
      <TAM_Altea_Seguranca_AutenticarRS xmlns="http://xml.amadeus.com/2009/04/TAM/TAM_Altea_Seguranca_AutenticarRS_2.0">
         <statusDoProcesso>
            <codigoDoStatus>P</codigoDoStatus>
         </statusDoProcesso>
      </TAM_Altea_Seguranca_AutenticarRS>
   </soap:Body>
</soap:Envelope>

Мне нужно прочитать SOAP: HEADER -> Session.

Ответы [ 2 ]

0 голосов
/ 17 июня 2014

Вы пробовали это?

источник: Обработка заголовков SOAP, необходимых клиенту веб-службы XML

public class MyWebService
{
    public SoapUnknownHeader[] unknownHeaders;

    [WebMethod]
    [SoapHeader("unknownHeaders")]
    public string MyWebMethod() 
    {
        foreach (SoapUnknownHeader header in unknownHeaders) 
        {
            // process headers
        }

        // handle request
    }
}
0 голосов
/ 04 мая 2010

См. на этой странице для получения подробных инструкций по определению пользовательских заголовков SOAP. Кажется, есть только примеры кода VB.net, но это должно быть достаточно легко, чтобы перевести принципы в C #.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...