2010-05-03 2 views
2

제가 작업하고있는 하나의 웹 서비스에 문제가 있습니다. .net 프레임 워크와 함께 제공되는 wsdl.exe를 사용하여 프록시 클래스를 생성했습니다. 그러나 webservice는 wsdl에 의해 매핑되지 않은 헤더를 반환합니다. 내가 읽고 읽고 사용해야하는 몇 가지 속성이 포함되어 있기 때문에 머리글을 맵핑해야합니다. 어떻게 비누의 머리글 컬렉션을 읽을 수 있습니까?프록시 클래스의 웹 서비스 응답에서 HTTP 응답 비누 헤더를 읽는 방법

예 :

<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 -> 세션.

답변

-1

사용자 지정 SOAP 헤더 정의에 대한 자세한 지침은 this page을 참조하십시오. VB.net 코드 예제 만있는 것처럼 보이지만 C#의 원칙을 쉽게 번역 할 수 있어야합니다.

+0

이 주소는 어떻게 헤더를 포함하고 SOAP 응답의 헤더를 읽을 수 없습니다하는 방법을 알려줍니다. – Fabricio

0

시도해 보셨습니까?

소스 : Handle SOAP Headers Required by an XML Web Service Client

public class MyWebService 
{ 
    public SoapUnknownHeader[] unknownHeaders; 

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

     // handle request 
    } 
} 
관련 문제