5.3.2 資格証明マッピング・インタフェース・プラグインの実装

次のシナリオを使用します:

  • 既存のWebサービスmyservice (サイトは、http://www.abc.com/webservice)には、HTTP基本認証が必要です。ユーザー名はtestで、パスワードは1234です。レルムはmyrealmです。
  • (wsdlcvtを使用して) WebサービスWSDLをSALT構成ファイルに変換した後で、<Realm>myrealm</Ream>要素をWSDFファイルのエンドポイント定義に追加します。

SALTプラグイン・インタフェースを実装するには、次のステップを実行します:

  1. "myrealm"のOracle Tuxedo UID/GIDをwww.abc.comでのusername/passwordにマップする関数を作成します。
    • Credmap_HTTP_Basic();を使用します

      この関数はHTTPユーザー名/パスワードを返します。この関数のプロトタイプは、credmap_pi_ex.hで定義されます。

  2. 以下の3つのプラグイン登録関数を作成します。詳細は、「プラグイン登録関数」を参照してください
    • _ws_pi_init_P_CREDENMAP_TEST(char * params, void ** priv_ptr);

      この関数は、GWWSサーバーが起動中にプラグイン共有ライブラリをロードしようとするときに呼び出されます。

    • _ws_pi_exit_P_CREDENMAP_TEST(void * priv);

      この関数は、GWWSサーバーがシャットダウン中にプラグイン共有ライブラリをアンロードするときに呼び出されます。

    • ws_pi_set_vtbl_P_CREDENMAP_TEST(void * vtbl);

      ステップ1で実装されたCredmap_HTTP_Basic()関数を使用してvtable構造体credmap_vtable内のgwws_pi_map_http_basicエントリを設定します。

  3. 省略可能な関数も作成できます:
    • _ws_pi_get_Id_and_Names(int * params, char ** ids, char ** names);

      この関数は、GWWSサーバーの起動中に、プラグイン共有ライブラリをロードする際に呼び出され、実装されているライブラリ・インタフェースが判断されます。詳細は、「プラグイン登録関数」を参照してください。

  4. 前述した4つか5つの関数を1つの共有ライブラリcredmap_plugin.soにコンパイルします
  5. SALTデプロイメント・ファイルでプラグイン・インタフェースを設定します。

    次の例に示すように、プラグイン・インタフェースを構成します:

例5-7 カスタム型付きバッファ・プラグイン・インタフェース

<?xml version="1.0" encoding="UTF-8"?>
<Deployment xmlns="http://www.bea.com/Tuxedo/SALTDEPLOY/2007">
       . . . . . . .
       . . . . . . .
       <System>
              <Plugin>
                     <Interface
                            id=”P_CREDENMAP”
                            name=”TEST”
                            library=”credmap_plugin.dll” />
              </Plugin>
       </System>
</Deployment>