オーケストレーション内の受信 WCF メッセージの SOAP ヘッダー値にアクセスするには、コンテキスト プロパティ WCF を使用します 。InboundHeaders。 WCF アダプターは、受信メッセージ内のカスタム SOAP ヘッダーと標準 SOAP ヘッダーを WCF にコピーします 。InboundHeaders プロパティ。 WCF アダプターを使用すると、コンテキスト プロパティに昇格または書き込むプロパティをプログラムで選択することもできます。 詳細については、「 公開された WCF サービスを使用した SOAP ヘッダー 」を参照してください。
コンテキスト プロパティに含まれる値は、 <ヘッダー> ルート要素を含む XML データを含む文字列であり、受信 SOAP ヘッダーは、 <headers> 要素の子要素としてコピーされます。 このデータにアクセスする最も簡単な方法は、 メッセージの割り当て または 式 の図形で BizTalk 式エディターを使用し、 XmlDocument に文字列を読み込み、XPath クエリを使用して特定のフィールドにアクセスすることです。 BizTalk 式エディターでの XML ドキュメントの作成の詳細については、「 XLANG-s 言語」を参照してください。
次のコード例では、メッセージ割り当てまたは式シェイプにおけるWCF.InboundHeadersプロパティの要求SOAPヘッダーを取得します。
stringVar = inboundMessageInstance(WCF.InboundHeaders);
コンテキスト プロパティは、特定のメッセージに関連付けられます。 メッセージング エンジンは、要求メッセージの SOAP ヘッダーの値を応答メッセージに自動的にマップしません。 WCF サービスの応答メッセージを作成する際には、WCF.OutboundCustomHeaders プロパティを使用して SOAP ヘッダーの値を明示的に設定する必要があります。 次のコマンドは、SOAP ヘッダー コンテキスト プロパティを設定する最も簡単な方法です。
outboundMessageInstance(WCF.OutbounCustomHeaders) = "<headers><Origination xmlns=\"http://SOAPHeaderSchemas.OrigDestSOAPHeader\">Home</Origination><Destination xmlns=\"http://SOAPHeaderSchemas.OrigDestSOAPHeader\">Work</Destination></headers>"
XmlDocument を作成し、 XmlDocument の文字列値をコンテキスト プロパティに書 き込むことで、コンテキスト プロパティを設定することもできます。
WCF アダプターを使用して SOAP ヘッダーにアクセスする方法の詳細については、の SDK サンプル「WCF アダプターでのカスタム SOAP ヘッダーの使用」を参照してください。
こちらもご覧ください
パイプライン コンポーネントを使用した WCF メッセージの SOAP ヘッダーへのアクセスWCF アダプターのプロパティ スキーマおよびプロパティ利用される WCF サービスにおける SOAP ヘッダー