HTTPInput ノード

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

目的

メッセージ・フローによって処理する Web サービス要求を受信するには、HTTPInput ノードを使用します。 HTTPInput ノードを HTTPReply ノードおよび HTTPRequest ノードと共に使用すると、ブローカーは Web サービスの仲介者として機能でき、Web サービス要求を WebSphere Message Broker でサポートされる他のメッセージ形式と同じ方法で変換してルーティングできます。 Web サービス要求は、標準 HTTP (1.0 または 1.1) フォーマット、または HTTP over SSL (HTTPS) フォーマットのどちらでも受け取ることができます。 HTTP または HTTPS 要求を扱うかどうかを選択するには、「HTTPS の使用」プロパティーを設定できます。

メッセージ・フローに HTTPInput ノードを組み込む場合には、同じフローに HTTPReply ノードも組み込むか、HTTPReply ノードが組み込まれた別のノードにメッセージを受け渡す必要があります (例えば、MQOutput ノードを介して、MQInput ノードで始まる 2 番目のフローへ)。 後者の場合、クライアントからの要求と、クライアントへの応答は、LocalEnvironment に保管された要求 ID で整合されます (後述)。

HTTPInput ノードは、次のメッセージ・ドメインのメッセージを処理します。

  • MRM
  • XML
  • XMLNS
  • XMLNSC
  • JMS
  • JMSStream
  • IDOC
  • MIME
  • BLOB

HTTPInput ノードは、Web サービス・クライアントからのメッセージを受信すると、適切なパーサーを起動して、メッセージのヘッダーおよび本文を解釈し、メッセージ・フローが内部で使用するメッセージ・ツリーを作成します。 このノードは入力メッセージの固有 ID を作成し、これを LocalEnvironment ツリーの LocalEnvironment.Destination.HTTP.RequestIdentifer に、24 バイトのバイナリー配列の形で保管します。 この値は HTTPReply ノードによって使用されます。この値には、一切変更を加えてはなりません。

HTTP メッセージは常に持続性を持たず、関連する順序はありません。

HTTP メッセージは、非トランザクションです。 ただし、メッセージ・フローがデータベースまたは WebSphere MQ キューなどの他の外部リソースと対話する場合、それらの対話はトランザクションとして実行されます。 HTTPInput ノードでは、メッセージ・フローの終了方法、およびエラー処理に対する構成方法 (例えば、障害の発生したターミナルを接続する方法) に応じて、コミットまたはロールバックが提供されます。 メッセージ・フローが HTTPInput ノードによってロールバックされる場合、障害メッセージが生成され、クライアントに戻されます。 障害のフォーマットは、「障害フォーマット」プロパティーによって定義されます。

このメッセージ・フローのダウンストリームで例外が発生し、キャッチされずにノードに戻された場合、このノードはクライアントへのエラー応答を構成します。 このエラーは例外から派生し、エラーのフォーマットは「障害フォーマット」プロパティーによって定義されます。

HTTPInput ノードで開始するメッセージ・フローに出力ノードを組み込む場合、その出力ノードはサポートされる出力ノードのいずれかにできます (ユーザー定義の出力ノードも含む)。 必要な任意の変換を提供するようにブローカーに要求するようにメッセージ・フローを構成できますので、Web サービス・クライアントからメッセージを受け取る、サポートされるトランスポートすべてを使用してブローカーに接続する クライアント用のメッセージを生成する、メッセージ・フローを作成できます。

サブフローとして使用するメッセージ・フローを作成する場合には、標準入力ノードを使用することはできず、入力ノードのインスタンスを最初のノードとして使用して、サブフロー用の in ターミナルを作成する必要があります。

ご使用のメッセージ・フローが Web サービス要求を受信しない場合には、サポートされる入力ノードのいずれかを選択できます。

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

HTTPInput ノード・アイコン

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

HTTPInput ノードは、HTTP または HTTPS メッセージを受け入れる必要のあるどのメッセージにおいても使用できます。 この最も一般的な例は、Web サービスをインプリメントするメッセージ・フローです。 Web サービス・アプリケーションについて詳しくは、Web サービス・アプリケーションを参照してください。

HTTPInput ノードの構成

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

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

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

  1. URL セレクター」に、このノードが受信する Web サービス要求の送信元の URL のパスの部分を入力します。 URL 全体を入力するのではありません。
  2. 最大クライアント待機時間」タイムアウト・インターバルを秒数で入力します。これは、Web サービス・クライアントから入力メッセージを受信した TCP/IP リスナーが、メッセージ・フローで HTTPReply ノードからの応答を待機する時間の長さです。 この時間内に応答を受信した場合、リスナーはその応答をクライアントに伝搬します。 この時間内に応答を受信しなかった場合、リスナーはタイムアウトの期限が切れたことを示す SOAP 障害メッセージをクライアントに送信します。
  3. 障害フォーマット」として、「SOAP 1.1」「SOAP 1.2」、または「HTML」 のいずれかを選択します。
  4. ノードがセキュア HTTP を受け入れる予定の場合、「HTTPS の使用」チェック・ボックスを選択します。
  5. プロパティー・ダイアログ・ナビゲーターで「デフォルト」を選択して、着信メッセージの構文解析方法を決定するのにノードが使用するメッセージ・ドメイン、メッセージ・セット、メッセージ・タイプおよびメッセージ形式を記述するプロパティーの値を設定します。
    • メッセージ・ドメイン」フィールドでは、ドロップダウン・リストから使用するパーサーの名前を選択します。以下から選択できます。
      • MRM
      • XML
      • XMLNS
      • XMLNSC
      • JMSMap
      • JMSStream
      • IDOC
      • MIME
      • BLOB
    • MRM または IDOC パーサーを使用する場合は、「メッセージ・セット」フィールドのドロップダウン・リストから、適切なメッセージ・セットを選択します。 このリストには、ドメインとして MRM または IDOC を選択する場合に選択可能なメッセージ・セットが取り込まれます。

      XML、XMLNS、XMLNSC、JMS、MIME、および BLOB パーサーの場合、「メッセージ・セット」フィールドはブランクのままにしてください。

    • MRM パーサーを使用する場合は、「メッセージ・タイプ」のドロップダウン・リストから、適切なメッセージ・タイプを選択します。 このリストには、選択したメッセージ・セットで定義されたメッセージが取り込まれます。

      XML、XMLNS、XMLNSC、JMS、IDOC、MIME、および BLOB パーサーの場合、「メッセージ・タイプ」はブランクのままにしてください。

    • MRM または IDOC パーサーを使用する場合は、「メッセージ形式」フィールドのドロップダウン・リストから、メッセージの形式を選択します。 このリストには、このメッセージ・セット用に定義されたすべての物理形式が含まれます。 da

      XML、XMLNS、XMLNSC、JMS、MIME、および BLOB パーサーの場合、「メッセージ形式」フィールドはブランクのままにしてください。

  6. MRM パーサーの場合、メッセージ・セットから生成されたディクショナリーに対してメッセージ本体の妥当性検査を行いたいのであれば、プロパティー・ダイアログ・ナビゲーターの「妥当性検査」を選択します。 (メッセージがターミナルの failure ノードに伝搬される場合には、妥当性検査は行われません。)

    詳細については、メッセージの妥当性検査およびMRM ドメインのメッセージの妥当性検査プロパティーを参照してください。

  7. プロパティー・ダイアログ・ナビゲーターで「一般メッセージ・オプション」を選択します。 「解析のタイミング」は、デフォルトで、「要求時」に設定されます。 この設定では、部分構文解析によって構文解析されるまで、妥当性検査が遅延します。 設定を「即時」に変更すると、部分構文解析はオーバーライドされて、メッセージ内のすべてのものが構文解析および妥当性検査されます。ただし、「構成」が「選択」または「メッセージ」に指定された複合タイプで、この時点で解決できないものは除きます。 設定を「完全」に変更すると、部分構文解析はオーバーライドされて、メッセージ内のすべてのものが構文解析および妥当性検査されます。「構成」が「選択」または「メッセージ」に指定された複合タイプで、この時点で解決できないものでは 妥当性検査障害が生じます。
  8. 簡略説明または詳細説明 (あるいはその両方) を入力するには、プロパティー・ダイアログ・ナビゲーターの「説明」を選択します。
  9. 「適用」をクリックすると、プロパティー・ダイアログを閉じずに HTTPInput ノードが変更されます。 「OK」をクリックすると、変更を適用してプロパティー・ダイアログを閉じます。

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

ターミナルの接続

HTTPInput は、out ターミナルに正常に取り出される各メッセージをルーティングします。 メッセージの妥当性検査が失敗すると、メッセージは failure ターミナルにルーティングされます。 ノードをこのターミナルに接続し、この状態を処理することができます。 failure ターミナルに接続していない場合、メッセージは破棄され、「最大クライアント待機時間」が満了して、TCP/IP リスナーはエラーをクライアントに戻します。 他のいかなる状況にあっても、メッセージが failure ターミナルにルーティングされることはありません。

メッセージ・フロー内でさらに例外がスローされた後、このノードによってメッセージがキャッチされる場合、メッセージは catch ターミナルにルーティングされます。 catch ターミナルに接続していない場合、メッセージは破棄され、「最大クライアント待機時間」が満了して、TCP/IP リスナーはエラーをクライアントに戻します。

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

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

ターミナル 説明
Failure エラーが発生した場合にメッセージがルーティングされる出力ターミナル。
Out 正常に取り出された場合に、メッセージがルーティングされる出力ターミナル。
Catch 例外がダウンストリームでスローされ、ノードによってキャッチされた場合に、メッセージがルーティングされる出力ターミナル。

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

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

プロパティー M C デフォルト 説明
URL セレクター はい はい   Web サービス要求が取り出される位置を識別します。 必要とする URL が http://<hostname>[:<port>]/[<path>] の場合、/<path> または /<path fragment>/* を指定します。* はワイルドカードで、ここには何でも指定することができます。
最大クライアント待機時間 はい いいえ 180 リスナーがエラー・メッセージをクライアントに戻すまでに待機する時間 (秒単位)。 有効範囲は、0 (無期限待機を表す) から (231)-1 です。
障害フォーマット いいえ はい SOAP 1.1 プロパティーの値は、「SOAP 1.1」「SOAP 1.2」、または「HTML」 のいずれかになります。 このプロパティーは、クライアントに戻されるすべての HTTP エラーのフォーマットを定義します。
HTTPS の使用 いいえ はい いいえ ノードがセキュア HTTP を受け入れるかどうかを識別します。

HTTPInput ノードの「デフォルト」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
メッセージ・ドメイン いいえ いいえ   着信メッセージの構文解析に使用されるドメイン。
メッセージ・セット いいえ いいえ   着信メッセージが定義されているメッセージ・セットの名前または ID。
メッセージ・タイプ いいえ いいえ   着信メッセージの名前。
メッセージ形式 いいえ いいえ   着信メッセージの物理フォーマットの名前。

HTTPInput ノードの妥当性検査プロパティーについては、次の表に説明されています。

これらのプロパティーの詳細については、MRM ドメインのメッセージの妥当性検査プロパティーを参照してください。

プロパティー M C デフォルト 説明
妥当性検査 いいえ はい なし 妥当性検査が行われるかどうか。 有効な値は、「なし」「内容と値」、および「内容」です。
失敗処置 いいえ いいえ 例外 妥当性検査に障害が発生した場合の動作。 「妥当性検査」を「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は、「ユーザー・トレース」「ローカル・エラー・ログ」「例外」、および「例外リスト」です。
すべての値制約を含める いいえ いいえ 選択されている このプロパティーは編集できません。 チェック・ボックスが選択されていることにより示されるデフォルトのアクションは、基本値制約検査が「内容と値」妥当性検査に含まれるということです。
修正 いいえ いいえ なし このプロパティーは編集できません。

HTTPInput ノードの汎用メッセージ・オプションのプロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
構文解析のタイミング いいえ いいえ 要求時 このプロパティーは、入力メッセージを構文解析する時を制御します。 有効な値は、「要求時」「即時」、および「完全」です。

このプロパティーの詳細については、要求時の構文解析を参照してください。

MQRFH2C コンパクト・パーサーを MQRFH2 ドメインに使用 いいえ いいえ 選択されていない このプロパティーは、MQRFH2 パーサーの代わりに、MQRFH2C コンパクト・パーサーを MQRFH2 ヘッダーに使用するかどうかを制御します。

HTTPInput ノードの XMLNSC パーサー・オプションのプロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 いいえ いいえ 選択されていない 変更の始まりこのプロパティーは、XMLNS ドメイン内のメッセージに XMLNSC コンパクト・パーサーを使用するかどうかを制御します。このプロパティーを設定すると、入力 RFH2 ヘッダーまたはデフォルト・プロパティー・ドメインが XMLNS の場合、出力ターミナルに接続されているノードの XMLNSC の下にメッセージ・データが表示されることに注意してください。変更の終わり
混合内容保存モード いいえ いいえ なし このプロパティーは、XMLNSC パーサーが入力メッセージ内に混合テキストを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、混合テキストに対してエレメントが作成されます。 「なし」を選択すると、混合テキストは無視されて、エレメントは作成されません。
コメント保存モード いいえ いいえ なし このプロパティーは、XMLNSC パーサーが入力メッセージ内にコメントを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、コメントに対してエレメントが作成されます。 「なし」を選択すると、コメントは無視されて、エレメントは作成されません。
処理命令保存モード いいえ いいえ なし このプロパティーは、XMLNSC パーサーが入力メッセージ内に処理命令を検出したとき、これらのメッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、処理命令に対してエレメントが作成されます。 「なし」を選択すると、処理命令は無視されて、エレメントは作成されません。

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

プロパティー M C デフォルト 説明
簡略説明 いいえ いいえ   ノードの簡単な説明
詳細説明 いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac04565_