このページは役に立ちましたか。
このページのコンテンツについての ご意見をお待ちしております
その他にご意見はありますか。
残り 1500 文字
ルート アクションと応答アクション:プロトコルの不一致の処理

ルート アクションと応答アクション:プロトコルの不一致の処理

更新日: 2015年7月

メッセージ送信者とメッセージ受信者がそれぞれ異なるメッセージ プロトコルを使用すると、プロトコルの不一致が発生します。ブリッジを利用する一般的な BizTalk サービス シナリオでは、メッセージ送信者がメッセージをブリッジに送信します。ブリッジは、メッセージを処理してメッセージ受信者に送信します。これは、プロトコルの不一致を 2 つのタイミングで処理する必要があることを意味します。

  • 1 つ目は、メッセージがメッセージ受信者に送信されたときです。これは、XML 一方向ブリッジと XML 要求-応答ブリッジのどちらの場合でもメッセージをメッセージ受信者に送信する必要があるためその両方に当てはまります。これは、ルート アクションと呼ばれます。

  • 2 回目は、メッセージ受信者から受け取った応答メッセージをメッセージ送信者に送り返すときです。これは、XML 要求-応答ブリッジのみに当てはまります。それは、このブリッジに対してのみ、応答をメッセージ送信者に送り返す必要があるためです。これは、応答アクションと呼ばれます。

ルート アクションと応答アクションのどちらも、強化段階で定義するプロパティに対して動作します。

ルート アクションを使用してプロトコルの不一致を処理する方法を説明するシナリオを考えてみましょう。このシナリオでは、POX (Plain Old XML)/REST メッセージを XML 一方向ブリッジを介して (SOAP メッセージを期待している) WCF サービスに送信する必要があります。ブリッジに送信されるメッセージは単純な XML ペイロードで、ヘッダーを持ちません。一方、WCF サービスへの送信メッセージには特定の SOAP ヘッダーが定義されている必要があります。ブリッジでこのプロトコルの不一致を処理するには、ブリッジを構成したペルソナでルート アクションを使用して、Action、MessageID などの該当する SOAP メッセージ ヘッダーを送信メッセージに割り当てます。ブリッジが構成されて Service Bus にデプロイされた後、POX メッセージがブリッジに送信されます。メッセージが処理された後、ブリッジのルート アクションに指定されたヘッダーがメッセージに付加され、その後メッセージが WCF サービスにルーティングされます。これにより、プロトコルの不一致が調整されます。ルート アクションを構成する方法については、「The Routing Action」を参照してください。

次の表に、ルート アクションを使用して BizTalk サービス プロジェクトの中間段階 (または宛先) 間でプロパティ値がどのように転送されるかを示します。

 

送信元/送信先 他のブリッジへ キューおよびトピックへ リレーまたは外部サービス エンドポイントへ

ブリッジから

プロパティをそのまま (キーと値のペア) として送信することはできません。ただし、送信メッセージ ヘッダー (HTTP または SOAP) の値として割り当てることによって渡すことはできます。

プロパティをそのまま (キーと値のペア) として送信できます。さらに、送信メッセージ ヘッダーの値として渡すこともできます

プロパティをそのまま (キーと値のペア) として送信することはできません。ただし、送信メッセージ ヘッダー (HTTP または SOAP) の値として割り当てることによって渡すことはできます。このとき、リレーまたは外部サービスによって使用できる該当するヘッダーが渡されることを保証するのはブリッジ デザイナーの特権です。

応答アクションはルート アクションとよく似ています。唯一の違いとして、ルート アクションがメッセージが意図されたメッセージ受信者に送信されるときに適用される (XML 一方向ブリッジまたは XML 要求-応答ブリッジ) のに対し、応答アクションはメッセージ受信者からの応答メッセージがメッセージ送信者に送り返されるときに適用される (XML 要求-応答ブリッジのみ) ことが唯一の相違点です。

これをわかりやすく説明するために、ルート アクションの説明に使用されたシナリオを逆転させてみましょう。メッセージ送信者は、XML 要求-応答ブリッジを介して、POX/REST メッセージを期待している REST サービスに SOAP メッセージを送信する必要があるとします。ブリッジに送信されるメッセージは、すべての該当するヘッダーを含む SOAP メッセージです。ブリッジでは、メッセージを REST サービスにルーティングする前にメッセージ ヘッダーを暗黙的に削除して、XML ペイロードのみを REST サービスに送信します。REST サービスからの応答は同様に POX メッセージです。応答アクションでは、POX 応答メッセージをメッセージ送信者に送り返す前にメッセージ ヘッダーを POX メッセージに付加してから、SOAP エンベロープ メッセージをメッセージ送信者に送信します。応答アクションを構成する方法については、「Create an XML Request-Reply Bridge」を参照してください。

次の表に、応答アクションを使用してブリッジからメッセージ送信元クライアントにプロパティ値がどのように転送されるかを示します。

 

送信元/送信先 他のブリッジへ リレーまたは外部サービス エンドポイントへ

ブリッジから

プロパティをそのまま (キーと値のペア) として送信することはできません。ただし、送信メッセージ ヘッダー (HTTP または SOAP) の値として割り当てることによって渡すことはできます。

プロパティをそのまま (キーと値のペア) として送信することはできません。ただし、送信メッセージ ヘッダー (HTTP または SOAP) の値として割り当てることによって渡すことはできます。このとき、リレーまたは外部サービスによって使用できる該当するヘッダーが渡されることを保証するのはブリッジ デザイナーの特権です。

ルート アクションと応答アクションを使うとメッセージ ヘッダー プロパティを設定できますが、次の点に注意する必要があります。

  • To および ReplyTo SOAP メッセージ ヘッダーの使用には注意が必要です。それは、基底のバインド (たとえば、WCF バインド) でこれらのメッセージ ヘッダーがオーバーライドされる可能性があるためです。これらのメッセージを使用するアプリケーションがルート アクションまたは応答アクションを介して設定されるメッセージ ヘッダーを期待している場合、予期しないエラーが発生する可能性があります。

  • そのため、basicHttpBinding または basicHttpRelayBinding を使用するエンドポイントにメッセージをルーティングする場合は、MessageID SOAP ヘッダーを設定しないでください。

関連項目

表示:
© 2015 Microsoft