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