メッセージ・フローから Web サービス・クライアントに応答を返送するには、HTTPReply ノードを使用します。 このノードは、HTTPInput ノードで受信した入力メッセージの送信元である Web サービス・クライアントへの応答を生成し、送信されてくる確認を待機します。
このトピックには、以下のセクションが含まれています。
HTTPReply ノードは、HTTP または HTTPS メッセージを受け入れる必要のあるどのメッセージ・フローにおいても使用できます。 この最も一般的な例は、Web サービスをインプリメントするメッセージ・フローです。
Web サービス・アプリケーションについて詳しくは、Web サービス・アプリケーションでの作業を参照してください。
メッセージ・フローに HTTPReply ノードを組み込む場合には、同じフローに HTTPInput ノードを組み込むか、または同じブローカーで実行していて、しかも HTTPInput ノードで始まる別のフローからメッセージを受信する必要があります。 応答は、HTTPInput ノードにより LocalEnvironment に保管される要求 ID によって、応答と関連付けられます。
このノードは、入力メッセージ・ツリー全体から Web サービス・クライアントの応答メッセージを構成し、それをリクエスターに戻します。
HTTPReply ノードはパレットの HTTP ドロワーに入っていて、ワークベンチ内では次のアイコンによって表されます。
メッセージをさらに処理する場合、エラーを処理する場合、あるいはメッセージを追加の宛先に送信する場合は、このノードの Out ターミナルまたは Failure ターミナルをこのメッセージ・フローの別のノードに接続します。
HTTPReply ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。ノードのプロパティーを「プロパティー」ダイアログに表示するには、ノードをダブルクリックするか、またはノードを右クリックしてから「プロパティー」をクリックします。 値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、アスタリスクが表示されます。
HTTPReply ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
In | ノードが処理するメッセージを受け入れる入力ターミナル。 |
Failure | メッセージが伝搬される際に障害が検出された場合に、メッセージがルーティングされる出力ターミナル。 |
Out | 正常に伝搬され、なおかつこのメッセージ・フロー内でさらに処理が必要な場合にメッセージがルーティングされる出力ターミナル。 |
以下の表は、ノード・プロパティーについて説明しています。 M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、アスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できます)。
HTTPReply ノードの「説明」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ノード名 | いいえ | いいえ | HTTPReply | ノードの名前。 |
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |
HTTPReply ノードの「基本」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
トランスポート障害を無視 | はい | いいえ | 選択されている | トランスポートに関連した障害を無視する場合 (例えば、クライアントが切断される場合)、「トランスポート障害を無視」を選択します。 このチェック・ボックスのチェックを外した場合、トランスポートに関連したエラーが発生すると、入力メッセージは Failure ターミナルに伝搬されます。 チェック・ボックスのチェックを外す場合は、「送信タイムアウトに応答 (秒)」に値を入力する必要があります。 |
送信タイムアウトに応答 (秒) | はい | いいえ | 120 | トランスポート障害を無視しない場合は、「送信タイムアウトに応答 (秒)」に値を設定します。
このプロパティーは、クライアントが応答を受信したという確認通知を受け取るまでノードが待機する時間の長さを秒単位で指定します。
確認通知がこの時間内に受信されると、入力メッセージは、Out ターミナル (接続されている場合) を経由して、メッセージ・フローの残りの部分に伝搬されます。
確認通知がこの時間内に受信されないと、入力メッセージは、Failure ターミナル (接続されている場合) を経由して伝搬されます。
Failure ターミナルが接続されていない場合、確認通知が時間内に受信されないと、例外が生成されます。 有効範囲は、0 (無期限待機を表す) から (231)-1 です。 このプロパティーは、「トランスポート障害を無視」がクリアされている場合に限り有効です。 |
返信または応答からデフォルト HTTP ヘッダーを生成 | はい | いいえ | 選択されている | HTTPReplyHeader または HTTPResponseHeader からの値を使用してデフォルトの Web サービス・ヘッダーを作成する場合は、「返信または応答からデフォルト HTTP ヘッダーを生成」を選択します。
入力メッセージに適切なヘッダーが存在しない場合は、デフォルト値が使用されます。
ノードは、正しい計算値に設定された Content-Length ヘッダーを HTTPReplyHeader の中に必ず組み込みます。 このヘッダーが元の要求に組み込まれていない場合にもそうします。 |
HTTPReply ノードの「妥当性検査」プロパティーについては、次の表に説明されています。
メッセージがノードの Failure ターミナルに伝搬される場合には、妥当性検査は行われません。 これらのプロパティーの詳細については、妥当性検査プロパティーを参照してください。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
妥当性検査 | いいえ | はい | 継承 | このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は、「なし」、「内容と値」、「内容」、および「継承」です。 |
失敗時の処置 | いいえ | いいえ | 例外 | このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」を「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。有効な値は、「ユーザー・トレース」、「ローカル・エラー・ログ」、「例外」、および「例外リスト」です。 |
すべての値制約を含める | いいえ | いいえ | 選択されている | このプロパティーは編集できません。 チェック・ボックスが選択されていることにより示されるデフォルトのアクションは、基本値制約検査が「内容と値」妥当性検査に含まれるということです。 |
修正 | いいえ | いいえ | なし | このプロパティーは編集できません。 |