WebSphere MQ が使用可能なアプリケーションによる Web サービスの呼び出し

このシナリオでは、メッセージを処理する際に、WebSphere MQ を使用して Web サービスを呼び出すアプリケーションについて示します。この例では MIME ドメインを使用します。このシナリオのメッセージ・フローと、結果のメッセージ・ツリーを以下に示します。

この図は、MQ が使用可能な外部クライアントが、メッセージをメッセージ・フローに送信およびメッセージ・フローから受信していることを示しています。メッセージ・フローは、Compute1 と呼ばれる Compute ノードに接続した MQInput ノードで構成されています。次に、Compute ノードは HTTPRequest ノードに接続しています。
HTTPRequest ノードは外部 Web サービスに要求を行い、応答を受信します。メッセージは次に、Compute2 と呼ばれる 2 番目の Compute ノードに送信されます。このノードはその後 MQOutput ノードに接続され、ここから MQ クライアントに応答メッセージを戻します。

MIME メッセージが メッセージ・フロー に入力されると、Content-Type およびその他の最上位 MIME ヘッダーが MIME ツリーに保管されます。 ブローカーはまた、メッセージの Content-Type のコピーを、Properties サブツリーの ContentType 値として保管します。以下の図は、MQInput ノードを離れた後のメッセージ・ツリーの一部を示しています。

この図は、メッセージが MQInput ノードを離れた後の論理メッセージ・ツリーを示しています。ツリーのルートは Root と呼ばれ、子が 3 つあります。これらは順に、Properties、MQMD、および MIME です。

最初の Compute ノードである Compute1 は、HTTPRequestHeader が必要な場合、これをセットアップするのに使用されます。また Compute 1 は、Web サービスを提供する中間アプリケーションが MIME メッセージを必要とする場合、新規の MIME ツリーを作成するか、または既存の MIME ツリーを変更するためにも使用できます。

HTTPRequest ノードが要求メッセージを作成すると、メッセージ・ツリーから MQMD ヘッダーを除去します。MQ クライアントへの応答メッセージで使用するために、MsgId などの MQMD からの情報を保管する必要がある場合、以下のいずれかの方法で実行できます。
  • Compute1 が Environment ツリーに必要なフィールドを保管して、2 番目の Compute ノードである Compute2 が MQMD を再作成できるようにする。
  • Compute1 が OutputLocalEnvironment ツリーに必要なフィールドを保管して、Compute2 が MQMD を再作成できるようにする。これを行うには、Message および LocalEnvironment の両方を伝搬するよう Compute1 を構成する必要があります。
  • 入力メッセージを HTTP 応答で置換しないよう HTTPRequest ノードを構成する。その代わり、応答を OutputRoot.MIME として付加するよう指定します。 そうすれば、元の入力ツリーおよび MQMD は使用可能になりますが、Compute2 は メッセージを MQOutput ノードに引き渡す前にツリーを変更する必要があります。例えば、Compute2 は HTTPRequestHeader および HTTPResponseHeader などのツリーの一部の除去が必要になることがあります。これを行うには、保持する必要があるツリーの一部のみをコピーします。以下の ESQL は、これを行う方法を示しています。
    SET OutputRoot.MQMD = InputRoot.MQMD;
    SET OutputRoot.MIME = InputRoot.MIME;

HTTPRequest ノード・プロパティーは、出力ツリーの内容を制御します。

以下の図は、HTTPRequest ノードで Web サービスの呼び出しを行う前および後のメッセージ・ツリーを示しています。

この図は、Web サービス要求が HTTPRequest ノードから送信されるときの論理メッセージ・ツリーを示しています。ツリーのルートは Root と呼ばれ、子が 3 つあります。これらは順に、Properties、HTTPRequestHeader、および MIME です。

この図は、メッセージが Web サービス要求から HTTPRequest ノードに戻されたときの論理メッセージ・ツリーを示しています。ツリーのルートは Root と呼ばれ、子が 4 つあります。これらは順に、Properties、HTTPRequestHeader、HTTPResponseHeader、および MIME です。

Compute2 は、MQMD が必要な場合はこれを作成または復元し、HTTPResponseHeader などの不適切なヘッダーを除去してツリーをタイディアップ (整理) するのに使用されます。

関連概念
MIME ドメインのメッセージの操作
MIME ツリーの詳細
MIME メッセージ
関連タスク
ESQL の開発
Java の開発
関連資料
HTTP をトランスポートとして使用した Web サービスの作成
WebSphere MQ をトランスポートとして使用した Web サービスの作成
WebSphere MQ が使用可能なアプリケーションへの Web サービスとしてのアクセス
HTTPReply ノード
HTTPRequest ノード
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac30050_