ステップ 2. プログラム変数にパラメータをマッピングする
INT009B - SOAP サービス - エージェントの定義
このステップでは、Web サービスを呼び出すビジネス・ロジックで使用するプログラム変数名とアウトバウンド・パラメータおよびインバウンド・パラメータをマッピングします。
インバウンド・パラメータとアウトバウンド・パラメータは、以前のステップで検索した WSDL ファイルから取得されます。
1. SOAP ウィザードの [オペレーション] タブに切り替えます。
[オペレーション] タブの左側のペインには、「ステップ 1. 新規プロジェクトを作成する」で検索した WSDL ファイルで定義される Web サービス・オペレーションの名前が表示されます。
2. 使用するオペレーションのボックスにチェックマーク P を入れます。今回の場合はgetEmployeesになります。
チェックマークを入れて選択すると、演習 INT009Aの「ステップ 4. SOAP オペレーションを作成する」で定義した インバウンドとアウトバウンドのパラメータが表示されます。
![]()
3. パラメータ( アウトバウンド)をマッピングします。このパラメータは、 iiiEmployeeServer のパラメータをマッピングした時とまったく同じ方法で行います。つまり、以下のような手順になります。
a. departmentCode を選択し、右クリックしてコンテキスト・メニューを開きます。
![]()
b. コンテキスト・メニューで [フィールド] を選択します。[フィールド属性][フィールド属性]ダイアログ・ボックスが開きます。
![]()
c. [フィールド属性] ダイアログ・ボックスで、対応するプログラム変数名 DEPTMENT を入力して、[OK] を押します。
4. sectionCode アウトバウンド・パラメータについてもこの手順を繰り返し、プログラム変数 SECTION にマッピングします。
![]()
マッピングされたプログラム変数名は、パラメータ名の後に括弧内に表示されます。
アイコンが変わるため、パラメータがマッピングされていることが分かります。
ヒント:選択して強調表示されたパラメータは、右クリックしてコンテキスト・メニューでアクションを選択する代わりに、Enterを押すことで開くことができます。リストを上下に移動するには、矢印キーを使用します。
5. 戻り (インバウンド) パラメータをマッピングします。このパラメータは複雑なタイプであるため、アウトバウンド・パラメータの処理とはわずかに異なります。
a. Employee[...] を選択し、右クリックしてコンテキスト・メニューを表示します。
![]()
b. コンテキスト・メニューで [フラグメント] を選択します。このオプションでは、1回の呼び出しでEmployeeのすべてのエレメントを受け取ることができます。
![]()
c. [フラグメント属性] ダイアログで、フラグメント名 (RESPONSE) を入力します。
d. [OK] を押してこの割り当てを確認します。
![]()
今回もマッピングされたフラグメント名がEmployeeの戻りパラメータの横に表示され、アイコンが変わります。この場合、Employeeのすべてのエレメントのアイコンが変わります。これは、Employeeをフラグメントとしてマークしたときに、LANSA Integratorでは、すべてのエレメントがフィールドにマッピングされることが前提とされたためです。
6. 次に、応答の各フィールドを以下の手順でマッピングします。
a. employeeId を右クリックしてコンテキスト・メニューを開きます。
![]()
b. コンテキスト・メニューで [編集] を選択すると、[フィールド属性] ダイアログ・ボックスが開きます。
![]()
c. 名前 (EMPNO) を入力します。
d. [フォーマット] をブランクのままにして、[OK.] を押します。
7. これらのプログラム変数名を使用して、以下の通りに関連するプログラム変数に各インバウンド・フィールドをマッピングします。
インバウンド |
プログラム変数名 |
firstName |
GIVENAME |
salary |
SALARY |
surname |
SURNAME |
エージェント・プログラムで使用されるプログラム変数は、通常、サーバーのプログラムに使用される名前と同じではありません。
8. すべてのインバウンド・フィールドを割り当てたら、保存
ボタンまたは Ctrl + S キーを押す、もしくは、[ファイル] メニューから [保存] を選択します。
![]()