このステップでは、Web サービスを呼び出すビジネス・ロジックで使用するプログラム変数名とアウトバウンド・パラメータおよびインバウンド・パラメータをマッピングします。
インバウンド・パラメータとアウトバウンド・パラメータは、以前のステップで検索した WSDL ファイルから取得されます。

  1. SOAP ウィザードの [オペレーション] タブに切り替えます。
    [オペレーション] タブの左側のペインには、「ステップ 1. 新規プロジェクトを作成する」で検索した WSDL ファイルで定義される Web サービス・オペレーションの名前が表示されます。

  2. 使用するオペレーションのボックスにチェックマーク P を入れます。今回の場合はgetEmployeesになります。 
    チェックマークを入れて選択すると、演習 INT009Aの「ステップ 4. SOAP オペレーションを作成する」で定義した インバウンドとアウトバウンドのパラメータが表示されます。 


  3. パラメータ( アウトバウンド)をマッピングします。このパラメータは、 iiiEmployeeServer のパラメータをマッピングした時とまったく同じ方法で行います。つまり、以下のような手順になります。

    1. departmentCode を選択し、右クリックしてコンテキスト・メニューを開きます。

    2. コンテキスト・メニューで [フィールド] を選択します。[フィールド属性][フィールド属性]ダイアログ・ボックスが開きます。

    3. [フィールド属性] ダイアログ・ボックスで、対応するプログラム変数名 DEPTMENT を入力して、[OK] を押します。

  4. sectionCode アウトバウンド・パラメータについてもこの手順を繰り返し、プログラム変数 SECTION にマッピングします。

    マッピングされたプログラム変数名は、パラメータ名の後に括弧内に表示されます。 
    アイコンが変わるため、パラメータがマッピングされていることが分かります。

    ヒント:選択して強調表示されたパラメータは、右クリックしてコンテキスト・メニューでアクションを選択する代わりに、Enterを押すことで開くことができます。リストを上下に移動するには、矢印キーを使用します。

  5. 戻り (インバウンド) パラメータをマッピングします。このパラメータは複雑なタイプであるため、アウトバウンド・パラメータの処理とはわずかに異なります。

    1. Employee[...] を選択し、右クリックしてコンテキスト・メニューを表示します。 

    2. コンテキスト・メニューで [フラグメント] を選択します。このオプションでは、1回の呼び出しでEmployeeのすべてのエレメントを受け取ることができます。

    3. [フラグメント属性] ダイアログで、フラグメント名 (RESPONSE) を入力します。

    4. [OK] を押してこの割り当てを確認します。

      今回もマッピングされたフラグメント名がEmployeeの戻りパラメータの横に表示され、アイコンが変わります。この場合、Employeeのすべてのエレメントのアイコンが変わります。これは、Employeeをフラグメントとしてマークしたときに、LANSA Integratorでは、すべてのエレメントがフィールドにマッピングされることが前提とされたためです。

  6. 次に、応答の各フィールドを以下の手順でマッピングします。 

    1. employeeId を右クリックしてコンテキスト・メニューを開きます。 

    2. コンテキスト・メニューで [編集] を選択すると、[フィールド属性] ダイアログ・ボックスが開きます。

    3. 名前 (EMPNO) を入力します。
       

    4. [フォーマット] をブランクのままにして、[OK] を押します。

  7. これらのプログラム変数名を使用して、以下の通りに関連するプログラム変数に各インバウンド・フィールドをマッピングします。

    インバウンド

    プログラム変数名

    firstName

    GIVENAME

    salary

    SALARY

    surname

    SURNAME

    エージェント・プログラムで使用されるプログラム変数は、通常、サーバーのプログラムに使用される名前と同じではありません。

  8. すべてのインバウンド・フィールドを割り当てたら、保存ボタンまたは Ctrl + S キーを押す、もしくは、[ファイル] メニューから [保存] を選択します。

  • No labels