データベースからデータを取得するには、メッセージ・マップで使用するデータベース表を定義する必要があります。
このタスクについて
注: データベース表をメッセージ・マップに追加する場合は、すべての表を一緒に同じデータベース・スキーマの下に追加する必要があります (つまり、表セットごとに 1 つの結果セット)。これらの表からデータベース情報を取得するために WebSphere® Message
Broker が必要とする接続の数を少なくします。
手順
以下のステップを実行して、PERSON データベース表、ADDRESS データベース表、および PHONE データベース表を ADDRESSBOOK スキーマの下に追加します。
- 以下のステップを実行して、メッセージ・マップ FindAddress を開きます。
- 「アプリケーション開発」ビューで、にナビゲートします。
- FindAddress.map をダブルクリックします。
以下の図は、メッセージ・マップ FindAddress.map があるナビゲーション・ツリーを示しています。
メッセージ・マップ FindAddress.map が新規タブで開きます。
- 「データベースから行を選択します」アイコンをクリックします。
以下の図は、オプション「データベースから行を選択します」を選択するために選択する必要があるアイコンを示しています。
「新規のデータベース選択」ウィザードが開きます。
- スキーマ ADDRESSBOOK とデータベース表 PERSON、ADDRESS、および PHONE を選択します。
- データベースから単一のアドレス・レコードを抽出するために使用する「SQL where 節」式を定義します。
式を定義するには、列、操作、または入力を「SQL where 節」ペインにドロップするかダブルクリックして、コピー・アンド・ペーストを使用するか、コンテンツ・アシストを使用します (CTRL+Space)。
以下の「SQL where 節」式を使用できます。
ADDRESSBOOK.PERSON.LASTNAME IN ? AND ADDRESSBOOK.PERSON.COUNTRY
= ?1
ここで、? は XPath 式を表します。
$MessageAssembly/SOAP_Domain_Msg/Body/{http://AddressBook}:FindAddress/FindAddress/{http://addressbook.com}:Name
?1 は XPath 式を表します。
$MessageAssembly/SOAP_Domain_Msg/Body/{http://AddressBook}:FindAddress/FindAddress/{http://addressbook.com}:Country
以下の図は、WebSphere Message
Broker 内で定義された式を示しています。
- 「OK」を選択します。
タスクの結果
「メッセージ・アセンブリー」の下に、「CLIENTS から選択 (Select from CLIENTS)」セクションが追加されます。このセクションには、1 つの結果セットが含まれています。結果セットには 3 つの表があります。エレメントが属している表を確認するには、結果セットでエレメントを選択して、「プロパティー」タブを表示します。
表はアルファベット順で含まれていることに注意してください。
以下の図は、表 PERSON、ADDRESS、および PHONE を含めたときに取得する結果セットを示しています。
次のタスク
メッセージ・マップで Select 変換を構成する必要があります。詳しくは、メッセージ・マップでの Select 変換の構成を参照してください。