WCFアダプタを使用する場合、WCFメッセージの本文として送信されるメッセージ本文部分がありますが、BizTalkメッセージコンテキストを送信することはできますか(うまくいけばWCFメッセージヘッダー)?WCFサービスにBizTalkメッセージコンテキストを送信
答えて
following page in MSDNは、WCFアダプタを使用してBizTalkの外部にメッセージを送信するときにカスタムSOAPヘッダーを使用する方法を簡潔に説明しています。
基本的に、BizTalk以外のBizTalkメッセージのコンテキストを直接送信することはできません。これは意味がありません。むしろ、カスタムSOAPヘッダーを使用してWCFアダプタに送信するBizTalkメッセージのコンテキストで、プロパティのサブセットを選択できます。発信要求に関連付けられ
カスタムSOAPヘッダ発信WCF要求を処理
SOAPヘッダは、明示的に送信されるメッセージのコンテキストに書き込まれなければなりません。
WCFアダプタを使用する場合、SOAPヘッダーは組み込みのWCF.OutboundCustomHeadersコンテキストプロパティで定義されます。このプロパティは、すべてカスタムSOAPヘッダーを保持し、さらに<ヘッダー>タグ内にラップされます。
ヘッダは、Expression形で次の構文を使用して、オーケストレーションの中から指定することができます。ヘッダ1 >と< tns2:イラストに使用ヘッダ2 >
OutboundMessage(WCF.OutboundCustomHeaders) = "" +
"<headers>"
"<tns1:Header1 xmlns:tns1='http://tns1'>" +
"</tns1:Header1>" +
"<tns2:Header2 xmlns:tns2='http://tns2'>" +
"</tns2:Header2>" +
"</headers>" +
"";
してください、注意カスタムSOAPヘッダ< tns1こと上記の目的は、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ヘッダ内に記述されています。実際のシナリオでは、それらのプロパティを使用する前に、そのプロパティがコンテキスト内に存在するかどうかを確認する必要があります。
適切なプロパティスキーマで宣言されている場合は、任意のカスタムコンテキストプロパティを使用することもできます。
これは当てはまりません。 BizTalkメッセージは、マルチレコードEDIファイルを処理した結果です。各レコードは個々のBizTalkメッセージに逆アセンブルされます。 EDIヘッダー情報は、各BizTalkメッセージ内のコンテキストプロパティに変換されます。したがって、この情報は無意味ではありません。 – Rich
私が言ったように、BizTalkの外には意味がありません。あなたが本当に必要とするのは、カスタムWCF SoapヘッダーへのBizTalkメッセージのコンテキスト内のプロパティの変換*または適合*です。それらのソープヘッダーは、外部サービスとの契約の一部でなければなりません。私がリンクしているページを見てください。 WCFとSOAPアダプターの間のSOAPヘッダーの処理の違いの基本的な概要が必要な場合は、私のブログをご覧ください。http://maximelabelle.wordpress.com/2010/09/16/handling-soap-headers -in-biztalk-wcf-services / –