WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

例外のスロー

メッセージ処理の終了を予定しているメッセージ・フローで、エラーや他の状態が検出された場合、次の 2 つの方法によってメッセージ・フローで例外をスローできます。

ステートメント・オプションまたはノード・プロパティーのどちらかを使用することにより、メッセージ・テキストに挿入するメッセージ ID と値を指定して、例外を解釈するユーザーに追加情報と識別情報を提供できます。 ブローカーが使用可能な任意のカタログ内のメッセージを指定できます。 詳しくは、ユーザー定義拡張機能からのエラー・ログの使用を参照してください。

例外をスローする状態はメッセージ・フローの動作によって判別され、メッセージ・フローの設計時にそのアクションの適切な位置を決定します。 例えば、入力メッセージの内容を調べて、入力ノード (これは特定のメッセージ形式を受け取ったことをチェックする) が検出できない基準を満たしていることを確認したい場合もあります。

以下の例では、サンプル・メッセージを使用して、ESQL THROW ステートメントの使用方法を示します。 送り状番号が特定の範囲内にあることをチェックするには、有効範囲内になかった受信済みの Invoice メッセージについて例外をスローします。

--Check for invoice number lower than permitted range
IF Body.Invoice.InvoiceNo < 100000 THEN
   THROW USER EXCEPTION CATALOG 'MyCatalog' MESSAGE 1234 VALUES
   ('Invoice number too low', Body.Invoice.InvoiceNo);

-- Check for invoice number higher than permitted range
ELSEIF Body.Invoice.InvoiceNo > 500000 THEN
      THROW USER EXCEPTION CATALOG 'MyCatalog' MESSAGE 1235 VALUES
   ('Invoice number too high', Body.Invoice.InvoiceNo);

ELSE DO
  -- invoice number is within permitted range
  -- complete normal processing
ENDIF;
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:45:35


タスク・トピックタスク・トピック | バージョン 8.0.0.5 | ac17150_