Throw ノード

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

目的

メッセージ・フローで例外を出すには、Throw ノードを使用します。 例外は以下によりキャッチされ、処理されます。

  • 前にある TryCatch ノード
  • メッセージ・フロー入力ノード (組み込みノード HTTPInput、MQInput、MQeInput、および SCADAInput は、すべて catch ターミナルを持っています)
  • 前にある AggregateReply ノード

メッセージの内容に予期しないデータが含まれている場合に、メッセージ・フローを通してエラー・パスを強制する Throw ノードを組み込むことができます。 たとえば、メッセージに特定のフィールドが含まれていない場合にメッセージを バックアウトするために、フィールドが存在することを (Filter ノードを使用して) 確認することができます。 フィールドが存在しない場合には、メッセージは、メッセージ内の ExceptionList サブツリーの例外に関する詳細を記録する Throw ノードに渡されます。

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

Throw ノード・アイコン

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

このノードが使用される方法に関しては、次のサンプルを参照してください。

メッセージ・フローに Throw ノードを TryCatch ノードと共に組み込み、エラーが発生する可能性のある状態についてシステム管理者に警告するようにします。 たとえば、数を計算する Compute ノードがある場合、この計算の結果をテストして、結果が特定の数値を超える場合に例外を出すことができます。 TryCatch ノードはこの例外をキャッチして、エラーを処理するノードのシーケンスにメッセージを伝搬します。

Throw ノードの構成

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

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

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

  1. 「メッセージ・カタログ (Message Catalog)」に、メッセージ送信元が含まれるメッセージ・カタログの完全修飾パスおよびファイル名を入力します。 独自のメッセージ・カタログ、または WebSphere Business Integration Message Broker で提供されるデフォルトのメッセージ・カタログを使用できます。 デフォルト提供のカタログを使用するには、このプロパティーをブランクのままにします。
  2. 「メッセージ番号 (Message Number)」に、発生している例外のエラー番号を入力します。

    独自のメッセージ・カタログを作成した場合は、この例外が発生する時に使用したいカタログ内のメッセージの番号を入力します。

    デフォルトのメッセージ・カタログを使用する場合は、3001 から 3049 の範囲内の番号を指定してください。 これらの番号は、使用できるように WebSphere Business Integration Message Broker カタログで予約されています。 これらの各デフォルト・メッセージ・カタログのテキストは同一ですが、例外を発生させる各状態ごとにこの範囲内の番号を使用することができます。 この番号を使用して、エラーの正確な原因を特定します。

    デフォルトのメッセージ番号は 3001 です。

  3. 「メッセージ・テキスト (Message Text)」に、ローカル・エラー・ログに出力する際にメッセージと共に組み込みたい情報を含めた追加のテキストを自由形式で入力します。 たとえば、メッセージに特定のフィールドが含まれているかどうかを調べ、そのフィールドが見つからなかったときに例外を発生させる場合は、以下のテキストを含めます。
    メッセージに必須フィールド: 支店番号が含まれていませんでした (The message did not contain the required field: Branch number)
    デフォルトのメッセージ・カタログを使用している場合には、メッセージ・テキストにこのテキストが &1 のように挿入されます。
  4. 簡略説明または詳細説明 (あるいはその両方) を入力するには、プロパティー・ダイアログ・ナビゲーターの「説明 (Description)」を選択します。
  5. 「適用」をクリックすると、プロパティー・ダイアログを閉じずに Throw ノードが変更されます。 「OK」をクリックすると、変更を適用してプロパティー・ダイアログを閉じます。

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

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

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

ターミナル 説明
In ノードが処理するメッセージを受け入れる入力ターミナル。

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

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

プロパティー M C デフォルト 説明
メッセージ・カタログ (Message Catalog) いいえ いいえ   例外のエラー番号のエラー・テキストを取り出す元のメッセージ・カタログの名前。 デフォルト値 (ブランク) は、WebSphere Business Integration Message Broker で提供されるメッセージ・カタログからメッセージが取られることを示します。
メッセージ番号 (Message Number) いいえ いいえ 3001 発生している例外のエラー番号。
メッセージ・テキスト (Message Text) いいえ いいえ   エラーの原因を説明する追加のテキスト。

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

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

関連概念
メッセージ・フロー
ExceptionList ツリー

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

関連資料
Filter ノード
HTTPInput ノード
MQeInput ノード
MQInput ノード
SCADAInput ノード
Trace ノード
TryCatch ノード