バインディングコンポーネントの「アプリケーション変数」プロパティーを使用すると、指定されたタイプの名前:値ペアのリストを定義できます。アプリケーション変数名は、対応するバインディングの WSDL 拡張性要素属性のトークンとして使用できます。たとえば、ホスト名を表すアプリケーション変数を FOO と定義する場合、WSDL 属性は ${FOO} となります。「アプリケーション変数」プロパティーで、名前として文字列値 FOO を入力し、必要な属性を値として入力します。アプリケーション変数を使用するアプリケーションを配備するとき、アプリケーションの WSDL で参照されているすべての変数が自動的にロードされます。
「アプリケーション変数」設定プロパティーでは、次の 4 つのタイプが提供されています。
String: パスやディレクトリなどの文字列値を指定します。
Number: 数値を指定します。
Boolean: ブール値を指定します。「値」フィールドにチェックボックスが表示されます (チェックマーク付き = true)。
Password: パスワード値を指定します。パスワードはマスクされ、アスタリスクだけが表示されます。
変数を使用することで、WSDL ファイルの柔軟性を高めることができます。たとえば、アプリケーション変数を使用してシステム固有の情報を指定することにより、同じ WSDL を異なる実行時環境に使用できます。その後、必要に応じてバインディングコンポーネントの実行時プロパティーから、任意の環境に対してこれらの値を変更することができます。
アプリケーション変数を使用するアプリケーションを配備するとき、アプリケーションの WSDL ファイルで参照されているすべてのアプリケーション変数が自動的にロードされます。アプリケーションを起動しようとしたときにアプリケーション変数の値が定義されていない (そのアプリケーション変数に値が指定されていない) 場合は、例外がスローされます。
アプリケーションの実行中にプロパティーを変更するには、「アプリケーション変数」プロパティーの値を変更してから、「サーバー」>「GlassFish」>「JBI」>「サービスアセンブリ」の下の「サービス」ウィンドウでアプリケーションを右クリックし、ポップアップメニューで「停止」をクリックします。プロジェクトを再起動すると、新しい設定が有効になります。
保護されていないパスワードは WSDL ファイルに平文で表示されますが、Password アプリケーション変数をトークンとして挿入することにより、パスワードを保護できます。次の例では、名前 SECRET とパスワード PROTECT を使用するパスワードアプリケーション変数を作成します。
「サーバー」ウィンドウの「サーバー」>「GlassFish·V2」>「JBI」の下の「バインディングコンポーネント」ディレクトリから sun-http-binding を選択します。
sun-http-binding のプロパティーがプロパティーウィンドウに表示されます。
「アプリケーション変数」プロパティーの省略符号ボタン (...) をクリックします。
アプリケーション変数エディタが表示されます。
「追加」をクリックし、変数のタイプとして Password を選択し、「了解」をクリックします。
アプリケーション変数エディタに新しい行が追加されます。
名前として SECRET、値として PROTECT を入力します。
これはパスワードタイプなので、パスワードの文字はアスタリスクで表示されます。
ドル記号と中括弧を使用して、アプリケーション変数名 ${SECRET} を WSDL パスワード属性として使用します。