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

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

レコード選択式

ファイルからレコードを選択し、フローの他の部分に伝搬するために、レコード選択式を使用します。

各レコードが順番にこの式と比較され、最初に true と評価されたレコードが Out ターミナルに伝搬されます。 この式は、ブール値を返す任意の有効な XPath 式に設定できます。 「レコード検出」オプションに「ファイル全体」が選択された場合、 この式は使用されません。

式に使用される相関名

式には、以下の任意の相関名を使用できます。
InputRoot および InputLocalEnvironment
Input の名前は、In ターミナルを介してノードに入る着信メッセージを示します。
ResultRoot
ResultRoot の名前は、ファイル内の現在のレコードを使用して作成されたメッセージを示します。
OutputRoot
OutputRoot の名前は、式が true に評価された場合に伝搬されるメッセージを示します。 このアクションは、ファイル内で検出された Result メッセージを発信メッセージ内の別の位置にコピーするために、Output データの位置または Result データの位置が変更されていない場合、ResultRoot と同等です。
OutputLocalEnvironment
OutputLocalEnvironment には、Out ターミナルから伝搬される通常のローカル環境が含まれます。また、レコード数およびそのオフセットなどの、有用な情報が含まれます。

任意の有効な XPath 式と同時にこれらの相関名のデータの任意の組み合わせを使用して、レコードを伝搬するかどうかを決定できます。

式は次のとおりです。
$InputRoot/XMLNSC/Invoice/AccountNumber=$ResultRoot/XMLNSC/Data/Key

この例では、各レコードが有効な XML 文書です。 FileRead ノードがファイルから各レコードを読み取ります。着信メッセージ内で FileRead ノードが、フィールド /Data/Key とフィールド /Invoice/AccountNumber を比較します。レコードが一致すると、Out ターミナルに伝搬されます。

式は次のとおりです。
$OutputLocalEnvironment/File/Read/RecordNumber=5

FileRead ノードがファイルから各レコードを読み取り、そのレコード番号を 5 と比較します。5 番目のレコードに到達すると、そのレコードが伝搬されます。

着信メッセージとファイルからのレコードを組み合わせて使用することにより出力メッセージを作成する

FileRead ノードがファイルからレコードを読み取り、ノードに着信するメッセージと組み合わせます。デフォルトで、ファイルから読み取られたレコードの内容で、メッセージが置き換えられます。 ただし、「結果」パネルのプロパティーを使用することにより、着信メッセージとファイル・レコードの内容の組み合わせ方法を選択できます。 ノードには 3 つの論理ツリーがあります。
入力
入力メッセージ・アセンブリーには、着信メッセージのすべてのデータが含まれ、伝搬されるレコードの基礎になります。
結果
結果メッセージ・アセンブリーには、ファイルから読み取られたレコードの内容が含まれます。
出力
出力メッセージ・アセンブリーは、ノードから伝搬された実際のオブジェクトです。

デフォルトで、出力メッセージ・アセンブリーは、入力メッセージ・アセンブリーを出力メッセージ・アセンブリーにコピーすることにより構成されます。 出力メッセージ・アセンブリーのデータ部分は、次に、結果メッセージ・アセンブリーの内容で置き換えられ、OutputLocalEnvironment が、ノード内の処理の詳細によって更新されます。

以下の結果パネルのプロパティーを使用すると、この動作を変更することができます。
結果データのロケーション
読み取られたレコードのどの部分を出力メッセージにコピーするかを指定します。 デフォルトで、結果データのロケーションは、ResultRoot からすべてをコピーしますが、レコードの一部のみをコピーするように変更することもできます。 例えば、ResultRoot.XMLNSC.Invoice.Name とすると、選択したレコードの名前フィールドのみを出力メッセージにコピーします。
出力データのロケーション
レコードを出力メッセージのどこにコピーするかを指定します。 デフォルトで、出力データのロケーションは、すべてを OutputRoot にコピーします。 指定されるロケーションは、メッセージのデータ部分 (ResultRoot の下)、またはその他の出力ツリー (OutputLocalEnvironment など) にすることができます。 例えば、結果のレコードをメッセージ本体内のフィールドにコピーするには OutputRoot.XMLNSC.Invoice.Data、結果をローカル環境にコピーするには OutputRoot.Variables.Invoice.data とします。
ローカル環境のコピー
InputLocalEnvironment からローカル環境をコピーします。 「ローカル環境のコピー」オプションが選択されていない場合、InputLocalEnvironment がコピーされずに直接使用されます。 このオプションにより、FileRead ノードより前にあるノードで、ローカル環境への変更を確認できるようになります。
例えば、以下のオプションは、レコードの名前フィールドを出力メッセージにコピーします。 その他の出力メッセージは、入力メッセージに基づきます。
Result data location= ResultRoot.XMLNSC.Invoice.Name
Output data location= OutputRoot.XMLNSC.Invoice.Name
以下のオプションは、メッセージ本体をレコードから出力ローカル環境にコピーします。 出力メッセージは入力メッセージと同じです。
Result data location= ResultRoot.XMLNSC.Invoice
Output data location= OutputLocalEnvironment.Variables.Invoice
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

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

        
        最終更新:
        
        最終更新: 2015-02-28 17:48:47


概念トピック概念トピック | バージョン 8.0.0.5 | bc34095