2010-11-19 1 views

답변

2

following page in MSDN은 WCF 어댑터를 사용하여 BizTalk 외부로 메시지를 보낼 때 사용자 지정 SOAP 헤더를 사용하는 방법을 간략하게 설명합니다.

기본적으로 BizTalk 외부에서 BizTalk 메시지의 컨텍스트를 직접 보낼 수는 없습니다. 이것은 무의미합니다. 오히려 사용자 지정 SOAP 헤더를 통해 WCF 어댑터로 보내지는 BizTalk 메시지의 컨텍스트에서 속성의 하위 집합을 선택할 수 있습니다. 사용자 정의 SOAP 헤더 보내는 WCF 요청을 나가는 요청과 관련된

SOAP 헤더를 처리

명시 적으로 보내는 메시지의 문맥을 작성해야합니다.

WCF 어댑터를 사용할 때 SOAP 헤더는 기본 제공 WCF.OutboundCustomHeaders 컨텍스트 속성으로 정의됩니다. 이 속성은 모두 사용자 정의 SOAP 헤더를 포함하며 < 헤더 > 태그 안에 추가로 들어 있습니다.

OutboundMessage(WCF.OutboundCustomHeaders) = "" + 
    "<headers>" 
    "<tns1:Header1 xmlns:tns1='http://tns1'>" + 
    "</tns1:Header1>" + 
    "<tns2:Header2 xmlns:tns2='http://tns2'>" + 
    "</tns2:Header2>" + 
    "</headers>" + 
    ""; 

이 있습니다 사용자 정의 SOAP 헤더 < tns1 것을 : HEADER1 > 및 < tns2 : HEADER2 >이 그림에 사용

헤더는 식의 형태로 다음과 같은 구문을 사용하여 오케스트레이션 내에서 지정할 수 있습니다 위의 목적은 WCF 서비스 계약의 일부 여야합니다. 소비 된 WCF 서비스에 대한 서비스 참조를 만들면 이러한 사용자 지정 SOAP 헤더가 사용자의 오케스트레이션에서 생성 된 스키마로 사용할 수 있습니다.

이제 사용자 정의 SOAP 헤더를 지정하는 방법을 알고 사용자 정의 SOAP 헤더에 특정 컨텍스트 속성을 전송하는 방법

, 당신은 사용자 정의 SOAP에 메시지의 맥락에서 특정 속성을 보내려면이 구문을 사용할 수 있습니다 그래서 같은 헤더 : 위 예에서

OutboundMessage(WCF.OutboundCustomHeaders) = 
    System.String.Format(
    "" + 
    "<headers>" 
    "<tns1:Header1 xmlns:tns1='http://tns1'>" + 
    " <tns1:Property1>{0}</tns1:Property1>" + 
    " <tns1:Property2>{1}</tns1:Property2>" + 
    "</tns1:Header1>" + 
    "</headers>" + 
    "" 
    , InboundMessage(FILE.ReceivedFileName) 
    , InboundMessage(BTS.MessageType) 
)); 

는 두 내장 컨텍스트 속성 FILE.ReceivedFileName BTS.MessageType 및 선택 및 정의 SOAP 헤더 안에 기록되어있다. 실제 시나리오에서는 속성을 사용하기 전에 속성이 컨텍스트에 존재하는지 여부를 확인해야합니다.

적절한 속성 스키마에서 선언 된 경우 사용자 지정 컨텍스트 속성을 사용할 수도 있습니다.

+0

사실이 아닙니다. BizTalk 메시지는 다중 레코드 EDI 파일을 처리 한 결과입니다. 각 레코드는 개별 BizTalk 메시지로 디스 어셈블됩니다. EDI 헤더 정보는 각 BizTalk 메시지 내에서 컨텍스트 속성으로 변환됩니다. 따라서이 정보는 의미가 없습니다. – Rich

+0

글쎄, 내가 말했듯이, BizTalk 외부에서는 의미가 없다. 정말로 필요한 것은 사용자 정의 WCF Soap 헤더에 대한 BizTalk 메시지의 컨텍스트에서 속성을 * 변형 * 또는 * 적응 (일부)하는 것입니다. 비누 헤더는 외부 서비스 계약의 일부 여야합니다. 제발, 제가 링크 된 페이지를보십시오. WCF와 SOAP 어댑터 간의 SOAP 헤더 처리 차이점에 대한 기본적인 개요가 필요하면 내 블로그를보십시오. http://maximelabelle.wordpress.com/2010/09/16/handling-soap-headers -in-biztalk-wcf-services / –