プロジェクトでの HTTP バインディングコンポーネントの使用

アプリケーション変数を使用した名前/値ペアの定義

バインディングコンポーネントの「アプリケーション変数」プロパティーを使用すると、指定されたタイプの名前:値ペアのリストを定義できます。アプリケーション変数名は、対応するバインディングの WSDL 拡張性要素属性のトークンとして使用できます。たとえば、ホスト名を表すアプリケーション変数を FOO と定義する場合、WSDL 属性は ${FOO} となります。「アプリケーション変数」プロパティーで、名前として文字列値 FOO を入力し、必要な属性を値として入力します。アプリケーション変数を使用するアプリケーションを配備するとき、アプリケーションの WSDL で参照されているすべての変数が自動的にロードされます。

図は、HTTP バインディングコンポーネントの実行時プロパティーエディタと、アプリケーション変数のタイプを設定するためのダイアログボックスを示しています。

「アプリケーション変数」設定プロパティーでは、次の 4 つのタイプが提供されています。

変数を使用することで、WSDL ファイルの柔軟性を高めることができます。たとえば、アプリケーション変数を使用してシステム固有の情報を指定することにより、同じ WSDL を異なる実行時環境に使用できます。その後、必要に応じてバインディングコンポーネントの実行時プロパティーから、任意の環境に対してこれらの値を変更することができます。

アプリケーション変数を使用するアプリケーションを配備するとき、アプリケーションの WSDL ファイルで参照されているすべてのアプリケーション変数が自動的にロードされます。アプリケーションを起動しようとしたときにアプリケーション変数の値が定義されていない (そのアプリケーション変数に値が指定されていない) 場合は、例外がスローされます。

アプリケーションの実行中にプロパティーを変更するには、「アプリケーション変数」プロパティーの値を変更してから、「サーバー」>「GlassFish」>「JBI」>「サービスアセンブリ」の下の「サービス」ウィンドウでアプリケーションを右クリックし、ポップアップメニューで「停止」をクリックします。プロジェクトを再起動すると、新しい設定が有効になります。

パスワード保護のためにアプリケーション変数を使用する

保護されていないパスワードは WSDL ファイルに平文で表示されますが、Password アプリケーション変数をトークンとして挿入することにより、パスワードを保護できます。次の例では、名前 SECRET とパスワード PROTECT を使用するパスワードアプリケーション変数を作成します。

Procedureパスワードアプリケーション変数を作成する

  1. 「サーバー」ウィンドウの「サーバー」>「GlassFish·V2」>「JBI」の下の「バインディングコンポーネント」ディレクトリから sun-http-binding を選択します。

    sun-http-binding のプロパティーがプロパティーウィンドウに表示されます。

  2. 「アプリケーション変数」プロパティーの省略符号ボタン (...) をクリックします。

    アプリケーション変数エディタが表示されます。

  3. 「追加」をクリックし、変数のタイプとして Password を選択し、「了解」をクリックします。

    アプリケーション変数エディタに新しい行が追加されます。

  4. 名前として SECRET、値として PROTECT を入力します。

    これはパスワードタイプなので、パスワードの文字はアスタリスクで表示されます。

  5. ドル記号と中括弧を使用して、アプリケーション変数名 ${SECRET} を WSDL パスワード属性として使用します。