データベース・ルックアップ・メディエーション・プリミティブを使用して、 データベースの情報でメッセージを変更できます。
データベース・ルックアップ・メディエーション・プリミティブでは、メッセージへの追加を行う、またはメッセージを変更することができます。これは、ユーザー提供データベースの情報を使用して 行われます。
情報の取得元とするデータベース、データベース表、1 次キー列、およびデータベース列を指定することによって、データベース・ルックアップ・メディエーション・プリミティブを構成します。また、データベース・キーとして使用される値が、入力メッセージ内のどこにあるかを指定する必要があります。
データベース・ルックアップ・メディエーション・プリミティブには、1 つの入力端末 (in)、2 つの出力端末 (out と keyNotFound)、および 障害端末 (fail) があります。in 端末はメッセージの受信用に接続され、その他の端末はメッセージの送信用に接続されています。キーがメッセージとデータベースの両方に配置されている場合は、out 端末が使用されます。この場合、データベースから取得した情報は メッセージに保管され、更新済みのメッセージが伝搬されます。 キーがメッセージにはあるがデータベースにはない場合は、keyNotFound 端末が使用されます。この場合、元のメッセージは 変更されないまま伝搬されます。入力メッセージの処理中に例外が発生すると、fail 端末によって元のメッセージが例外情報と共に伝搬されます。
データベース・キーが指定された場合、データベース・ルックアップ・メディエーション・プリミティブは、データベースから値を検索し、それをエレメントとしてメッセージに格納します。
データベースから取得した情報をメッセージに格納するには、その情報を変換する必要があります。「タイプ」プロパティーを使用して情報のタイプを指定できます。実行時に、データベースから取得した情報をメッセージで想定されているタイプに変換できない場合は、例外が発生します。
メッセージ・エレメントがメッセージ内に既に存在する場合は、古い値が新しい値で上書きされます。
データベース・ルックアップ・メディエーション・プリミティブを使用して、 メッセージ内の情報を最新にしておくことができます。
また、 データベース・ルックアップ・メディエーション・プリミティブを使用して、メッセージに含まれるキーで メッセージに情報を追加することもできます。例えば、アカウント番号をキーにすることが できます。
データベース・ルックアップ・メディエーション・プリミティブと他の メディエーション・プリミティブを組み合わせると、便利な点があります。例えば、 XSL 変換 (XSLT) メディエーション・プリミティブを使用すると、データベース・ルックアップを呼び出す前または後に データを操作することができます。
プロパティー | 有効な値 | デフォルト |
---|---|---|
データ・ソース | ストリング | |
テーブル | ストリング | |
検索列 | ストリング | |
検索場所 | ストリング | |
入力の妥当性検査 | ブール値: true または false | false |
列 | ストリング | |
タイプ | ストリング: 単純な XML スキーマ・タイプまたは単純な XML スキーマ・タイプを拡張した XML スキーマ・タイプを定義 | |
ターゲット・ロケーション | ストリング: メッセージ・エレメントのロケーションを表す XPath 式 |
データベース・ルックアップ・メディエーション・プリミティブを使用する場合は、 以下を考慮する必要があります。