HTTPReply ノード

このトピックには、以下のセクションが含まれています。

目的

応答をメッセージ・フローから Web サービス・クライアントに戻すには、HTTPReply ノードを使用します。 このノードは、HTTPInput ノードによって受信した入力メッセージを送信した Web サービス・クライアントへの応答を生成し、これが送信する確認を待機します。

メッセージ・フローに HTTPReply ノードを組み込む場合には、同じフローに HTTPInput ノードを組み込むか、HTTPInput ノードで始まる別のフローからメッセージを受信する必要があります。 応答は、HTTPInput ノードにより LocalEnvironment に保管される要求 ID によって、応答と関連付けられます。

このノードは、入力メッセージ・ツリー全体から Web サービス・クライアントの応答メッセージを構成し、それをリクエスターに戻します。

ワークベンチでは、HTTPReply ノードは次のアイコンで表されます。

HTTPReply ノード・アイコン

メッセージ・フロー内でのこのノードの使用

このノードの使用例については、HTTPInput ノードを参照してください。

HTTPReply ノードの構成

HTTPReply ノードのインスタンスをメッセージ・フローに入れると、HTTPReply ノードを構成することができます。 エディター・ビューでノードを右マウス・ボタンでクリックし、「プロパティー (Properties)」をクリックします。 ノードの基本プロパティーが表示されます。

値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、プロパティー・ダイアログにアスタリスクが表示されます。

以下のように、HTTPReply ノードを構成します。

  1. トランスポートに関連した障害を無視する場合 (たとえば、クライアントが切断される場合)、「トランスポート障害を無視 (Ignore Transport Failures)」チェック・ボックスを選択します。 このチェック・ボックスのチェックを外した場合、トランスポートに関連したエラーが発生すると、入力メッセージは failure ターミナルに伝搬されます。 チェック・ボックスのチェックを外す場合は、「送信タイムアウトに応答 (Reply send timeout)」に値を入力する必要があります。
  2. トランスポート障害を無視しない場合は、「送信タイムアウトに応答 (Reply send timeout)」に値を設定します。 これは、クライアントが応答を受信したという確認通知を受け取るまでノードが待機する時間の長さです。 確認通知がこの時間内に受信されると、入力メッセージは、out ターミナル (接続されている場合) を経由して、メッセージ・フローの残りの部分に伝搬されます。 確認通知がこの時間内に受信されないと、入力メッセージは、failure ターミナル (接続されている場合) を経由して伝搬されます。 failure ターミナルが接続されていない場合、確認通知が時間内に受信されないと、例外が生成されます。
  3. メッセージ・ツリーの HTTPReplyHeader の中に作成されたヘッダーに、入力メッセージの HTTPResponseHeader からの値を取り込みたい場合には、「デフォルト HTTP ヘッダーを入力または応答から生成 (Generate default HTTP headers from input or response)」チェック・ボックスを選択します。 このチェック・ボックスのチェックを外した場合、Web サービス・ヘッダーには入力メッセージの HTTPInputHeader から値が取り込まれます。 入力メッセージに適切なヘッダーが存在しない場合は、デフォルト値が使用されます。

    ノードは、正しい計算値に設定された Content-Length ヘッダーを HTTPReplyHeader の中に必ず組み込みます。 このヘッダーが元の要求に組み込まれていない場合にもそうします。

  4. 簡略説明または詳細説明 (あるいはその両方) を入力するには、プロパティー・ダイアログ・ナビゲーターの「説明 (Description)」を選択します。
  5. 「適用」をクリックすると、プロパティー・ダイアログを閉じずに HTTPReply ノードが変更されます。 「OK」をクリックすると、変更を適用してプロパティー・ダイアログを閉じます。

    「キャンセル (Cancel)」をクリックすると、ダイアログを閉じてプロパティーの変更をすべて破棄します。

出力ターミナルを別のノードに接続する

メッセージをさらに処理したい場合、エラーを処理したい場合、あるいはメッセージを追加の宛先に送信したい場合は、このノードの out ターミナルまたは failure ターミナルをこのメッセージ・フローの別のノードに接続します。

ターミナルおよびプロパティー

HTTPReply ノード・ターミナルについては、次の表に説明されています。

ターミナル 説明
In ノードが処理するメッセージを受け入れる入力ターミナル。
Failure メッセージが伝搬される際に障害が検出された場合に、メッセージがルーティングされる出力ターミナル。
Out 正常に伝搬され、なおかつこのメッセージ・フロー内でさらに処理が必要な場合にメッセージがルーティングされる出力ターミナル。

以下の表でノードのプロパティーを説明します。M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、プロパティー・ダイアログにアスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、値を変更できます)。

HTTPReply ノードの「基本 (Basic)」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
トランスポート障害を無視 (Ignore Transport Failures) はい いいえ 選択されている トランスポートに関連した障害を無視するかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。
送信タイムアウトに応答 (Reply send timeout) はい いいえ 120 応答ノードが、応答がクライアントに到達しなかったと想定するまでに待機する時間 (秒単位)。 有効範囲は、0 (無期限待機を表す) から (231)-1 です。 「トランスポート障害を無視 (Ignore Transport Failures)」がクリアされている場合に限り有効です。
入力または応答からデフォルト HTTP ヘッダーを生成 (Generate default HTTP headers from input or response) はい いいえ 選択されている メッセージ・ツリーの HTTPReplyHeader の下に作成される Web サービス・ヘッダーを、HTTPResponseHeader (チェック・ボックスを選択) または HTTPInputHeader (チェック・ボックスを選択しない) の、どちらの値を使用して作成するか。

HTTPReply ノードの「説明 (Description)」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
簡略説明 (Short Description) いいえ いいえ   ノードの簡単な説明
詳細説明 (Long Description) いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト

関連概念
WebSphere MQ Web Services Transport
メッセージ・フロー

関連タスク
使用するノードの決定
メッセージ・フローのエラー処理

関連資料
HTTPInput ノード
HTTPRequest ノード