管理コンソールでポリシー・セットを処理する場合は、
ポリシーをカスタマイズして、メッセージ・セキュリティーを確保できます。
Hypertext Transfer Protocol (HTTP) トランスポート・ポリシーの構成をカスタマイズすることも、
デフォルト設定で提供されたポリシーをそのまま使用することもできます。
始める前に
一部の設定は、カスタム・ポリシー・セットのデフォルト・ポリシー用に構成できます。
提供されたデフォルト・ポリシー・セットは、編集できません。
ポリシー・セットをカスタマイズするには、デフォルト・ポリシー・セットのコピーを作成するか、ポリシー・セットを新規作成して、カスタム・ポリシー・セットのポリシーを指定する必要があります。
このタスクについて
HTTP トランスポート・ポリシーを使用して HTTP トランスポートを構成することができます。
HTTP は、分散型の共同ハイパーメディア情報システム向けのアプリケーション・レベルのプロトコルです。
このプロトコルは、汎用のステートレス・プロトコルであり、
要求メソッド、エラー・コードおよびヘッダーを拡張することにより、ハイパーテキスト用に使用する以外に、
多くのタスク (ネーム・サーバーや分散オブジェクト管理システムなど) にも使用できます。
HTTP の主要な機能として、データ表記のタイプ入力とネゴシエーションがあります。これにより、
システムは転送中のデータに影響されることなく構築されます。
HTTP 機能ポリシーおよび HTTP 接続プロパティーは、サービス・クライアントとサービス・プロバイダーの両方のアウトバウンド・メッセージに適用されます。
ポリシーは、ポリシー・セットを通じてのみ構成可能です。
そのため、HTTP トランスポート・ポリシーを構成する前に、その HTTP トランスポート・ポリシーを含むポリシー・セットが存在している必要があります。
提供されるデフォルトの WSHTTPS ポリシー・セットは読み取り専用で、編集することはできません。
HTTP トランスポート・ポリシーを含むポリシー・セットをカスタマイズするには、まず最初に WSHTTPS デフォルト・ポリシー・セットのコピーを作成するか、新規のポリシー・セットを作成して、その新規ポリシー・セットに HTTP トランスポート・ポリシーを追加する必要があります。
トラブルの回避 (Avoid trouble): WSHTTPS デフォルト・ポリシー・セットには、HTTP トランスポート・ポリシー、SSL トランスポート・ポリシーおよび WS-Addressing ポリシーが含まれています。SSL トランスポート・ポリシーまたは WS-Addressing ポリシーを必要としない場合は、WSHTTPS デフォルト・ポリシー・セットのコピーをカスタマイズして、必要のないポリシーを削除してもかまいません。
gotcha
WSHTTPS デフォルト・ポリシー・セットのコピーを作成、または追加した HTTP トランスポート・ポリシーを使用してポリシー・セットを新規作成したら、HTTP トランスポート・ポリシーをカスタマイズできます。 「HTTP トランスポート・ポリシー設定」パネルを使用して、読み取りタイムアウトまたは書き込みタイムアウトの値などの、HTTP トランスポート・ポリシー・プロパティーの値をカスタマイズします。
これで、カスタマイズした HTTP トランスポート・ポリシーの値が、そのカスタム HTTP トランスポート・ポリシーを含んでいるポリシー・セットに適用されます。カスタマイズ済みの HTTP トランスポート・ポリシーを含むこのポリシー・セットは、Java API for XML-Based Web Services (JAX-WS) アプリケーション、そのサービス、エンドポイント、または操作に関連付けることができます。この変更は、そのポリシー・セットが関連付けられているすべての JAX-WS アプリケーションに影響します。
アプリケーションへのポリシー・セットの関連付けについて詳しくは、アプリケーション・レベルでのサービス・プロバイダーおよびサービス・クライアントのポリシー・セットの管理に関する文書を参照してください。
例えば、HTTP トランスポート・ポリシーを含む、mypolicyset1 や mypolicyset2 など、複数のポリシー・セットがある場合、ポリシー・セットごとに HTTP トランスポート・ポリシーをカスタマイズして、タイムアウト値などのさまざまなプロパティーを反映させることができます。 この時点で、カスタマイズ済みポリシー・セットを 1 つ以上のアプリケーションに関連付けることができます。これらのアプリケーションでは、関連付けられたポリシー・セット内に含まれる HTTP トランスポート・ポリシーに関連付けられた HTTP プロパティー値を使用します。
手順
- HTTP トランスポート・ポリシーを含むポリシー・セットを作成します。
- カスタム・ポリシー・セットを作成します。
管理コンソールで、とクリックします。このパネルでは、ポリシー・セットの新規作成、WSHTTPS などの既存のデフォルト・ポリシー・セットのコピー、
デフォルト・リポジトリーからのポリシー・セット・コピーのインポート、または指定したロケーションからの既存のポリシー・セットのインポートを行うことができます。
- HTTP トランスポート・ポリシーをポリシー・セットに追加します。 管理コンソールで、
とクリックします。
ポリシー・コレクションで、をクリックします。「HTTP トランスポート」ウィンドウに、トランスポート・ポリシーの HTTP 設定を構成するためのオプションが表示されます。
- 「プロトコル・バージョン (Protocol Version)」ドロップダウン・リストで、
使用する HTTP バージョンをクリックします。 HTTP 1.1 がデフォルト設定ですが、HTTP 1.0 も使用可能です。
HTTP 1.1 を選択すると、「HTTP トランスポート」ウィンドウの他の部分に示された、より多くの機能を使用できます。
これは、HTTP バージョン 1.0 では使用できないオプションがあるためです。
- 「HTTP フィーチャー (HTTP Features)」セクションに入力します。 以下のチェック・ボックスでは、
このトランスポートに対してどの HTTP フィーチャーを有効にするかを決定します。
- セッションの有効化
- メッセージの送信時に、HTTP セッションを有効にするかどうか。
- チャンク転送エンコードの有効化
- メッセージの送信時に、チャンク転送エンコードを有効にするかどうか。
このオプションが使用できるのは、
「プロトコル・バージョン (Protocol version)」フィールドで HTTP 1.1 を選択している場合のみです (HTTP 1.0 が選択されている場合、
このフィールドはグレー表示され、使用不可になっています)。
- expect "100-request" ヘッダーの送信
- メッセージの送信時に、expect "100-request" ヘッダーを使用可能にするかどうかを表示します。
このオプションが使用できるのは、
「プロトコル・バージョン (Protocol version)」フィールドで HTTP 1.1 を選択している場合のみです (HTTP 1.0 が選択されている場合、
このフィールドはグレー表示され、使用不可になっています)。
- URL の自動リダイレクトの受け入れ
- メッセージの送信時に URL を自動的にリダイレクトするかどうかを表示します。
- 要求コンテンツの圧縮
- メッセージの送信時に要求コンテンツを圧縮するどうかを表示します。
- 応答コンテンツの圧縮
- メッセージの送信時に応答コンテンツを圧縮するかどうかを表示します。
- 「HTTP 接続 (HTTP Connections)」セクションに入力します。 以下のフィールドでは、このトランスポートの HTTP 接続の構成方法を決定します。
- 読み取りタイムアウト
- メッセージの送信時に読み取りがタイムアウトする時間の長さを、秒単位で表示します。
- 書き込みタイムアウト
- メッセージの送信時に書き込みがタイムアウトする時間の長さを、秒単位で表示します。
- 接続タイムアウト
- メッセージの送信時に接続がタイムアウトする時間の長さを、秒単位で表示します。
- 持続接続の使用
- メッセージの送信時に、持続接続を使用するかどうかを表示します。
このオプションが使用できるのは、
「プロトコル・バージョン (Protocol version)」フィールドで HTTP 1.1 を選択している場合のみです。
- 再送の有効化
- メッセージを再送可能にするかどうかを表示します。
このチェック・ボックスを選択すると、メッセージの再送を有効にできます。
- HTTP トランスポート・プロバイダー・バインディングをカスタマイズします。
- HTTP トランスポート・プロバイダー・バインディングにナビゲートします。 管理コンソールで、とクリックします。
「HTTP トランスポート (バインディング)」ウィンドウに、
HTTP トランスポート・バインディングを構成するためのオプションが表示されます。
- 「アウトバウンド非同期サービス応答のプロキシー (Proxy for outbound asynchronous service responses)」のプロパティーを指定します。
以下のフィールドでは、アウトバウンド非同期サービス応答のプロキシー仕様を決定します。
- ホスト
- アウトバウンド非同期サービス応答プロキシーのホスト名を表示します。
- Port
- アウトバウンド非同期サービス応答プロキシーのポート番号を表示します。
ポート番号は、入力することもできますし、編集することもできます。
- ユーザー名
- アウトバウンド非同期サービス応答プロキシーのユーザー名を表示します。
- Password
- アウトバウンド非同期サービス応答プロキシーのパスワードのプレースホルダーを表示します。
パスワードは、入力することもできますし、編集することもできます。
実際のパスワードは、マスクされます。
- 確認パスワード
- アウトバウンド非同期サービス応答プロキシーのパスワードのプレースホルダーを表示します。
これは、「パスワード」フィールドのパスワードと一致する必要があります。
実際のパスワードは、マスクされます。
- 「アウトバウンド非同期応答の基本認証 (Basic authentication for outbound asynchronous responses)」のプロパティーを指定します。
以下のフィールドでは、アウトバウンド非同期応答の認証仕様を決定します。
- ユーザー名
- アウトバウンド非同期応答の基本認証のユーザー名を表示します。
- Password
- アウトバウンド非同期応答の基本認証用パスワードのプレースホルダーを表示します。
実際のパスワードは、マスクされます。
- 確認パスワード
- アウトバウンド非同期応答の基本認証用パスワードのプレースホルダーを表示します。
これは、「パスワード」フィールドのパスワードと一致する必要があります。
実際のパスワードは、マスクされます。
- HTTP トランスポート・クライアント・バインディングをカスタマイズします。
- HTTP トランスポート・クライアント・バインディングにナビゲートします。 管理コンソールで、とクリックします。
「HTTP トランスポート (バインディング)」ウィンドウに、
HTTP トランスポート・バインディングを構成するためのオプションが表示されます。
- 「アウトバウンド・サービス要求のプロキシー (Proxy for outbound service requests)」のプロパティーを指定します。 以下のフィールドでは、アウトバウンド・サービス要求のプロキシー仕様を決定します。
- ホスト
- アウトバウンド・サービス要求プロキシーのホスト名を表示します。
- Port
- アウトバウンド・サービス要求プロキシーのポート番号を表示します。
- ユーザー名
- アウトバウンド・サービス要求プロキシーのユーザー名を表示します。
- Password
- アウトバウンド・サービス要求プロキシーのパスワードのプレースホルダーを表示します。
実際のパスワードは、マスクされます。
- 確認パスワード
- アウトバウンド・サービス要求プロキシーのパスワードのプレースホルダーを表示します。
これは、「パスワード」フィールドのパスワードと一致する必要があります。
実際のパスワードは、マスクされます。
- 「アウトバウンド・サービス要求の基本認証 (Basic authentication for outbound service requests)」のプロパティーを指定します。 以下のフィールドでは、アウトバウンド・サービス要求の認証仕様を決定します。
- ユーザー名
- アウトバウンド・サービス要求の基本認証のユーザー名を表示します。
- Password
- アウトバウンド・サービス要求の基本認証用パスワードのプレースホルダーを表示します。
実際のパスワードは、マスクされます。
- 確認パスワード
- アウトバウンド・サービス要求の基本認証用パスワードのプレースホルダーを表示します。
これは、「パスワード」フィールドのパスワードと一致する必要があります。
実際のパスワードは、マスクされます。
タスクの結果
HTTP トランスポート・ポリシーのカスタマイズが完了すると、
関連したポリシー・セットがこのポリシーを使用して、メッセージ送信を保護します。
例
アプリケーション、そのサービス、エンドポイント、または操作にポリシー・セットを関連付けることができます。
このシナリオ例では、アプリケーション用に 2 つの異なる JAX-WS サービス・クライアントを使用しているが、サービス・クライアントごとに別の HTTP トランスポート・プロパティー値を使用するものとします。 特に、読み取りまたは書き込みのタイムアウト値については、サービス・クライアントごとに異なる値を構成します。 HTTP タイムアウト値を変更する場合、アプリケーション (この場合、サービス・クライアント) に関連付けられたポリシー・セット内に含まれる HTTP トランスポート・ポリシーの値を編集することができます。 この変更内容は、カスタム HTTP トランスポート・ポリシーを含むポリシー・セットが関連付けられているすべてのアプリケーションに影響します。
この例では、同じアプリケーション・サーバーにデプロイされたサービス・クライアントについて、読み取り、書き込み、および接続のタイムアウトに異なる値を構成する手順について説明します。 この例では、以下のように想定します。
- アプリケーション・サーバーにデプロイされている ServiceClient1 と ServiceClient2 という名前の 2 つの JAX-WS サービス・クライアントがあります。
- HTTP トランスポート・ポリシーはまだアプリケーションに関連付けられていません。
- 2 つのポリシー・セットを新規作成して、それらに HTTP トランスポート・ポリシーを追加します。
例えば、HTTPServiceClient1Policy および HTTPServiceClient2Policy のようになります。
- をクリックします。
- 新規アプリケーション・ポリシー・セットの名前 HTTPServiceClient1Policy を入力します。
- 「ポリシー」コレクションで、をクリックします。
- との順にクリックして、マスター構成に対して行った
変更を保存します。
- 上記手順を繰り返して、HTTPServiceClient2Policy を作成します。
- 新規作成した HTTPServiceClient1Policy ポリシー・セットと HTTPServiceClient2Policy ポリシー・セットの HTTP トランスポート・ポリシー設定をカスタマイズします。例えば、HTTPServiceClient1Policy ポリシー・セットに含まれる HTTP トランスポート・ポリシーの読み取りと書き込みのタイムアウト値、および HTTPServiceClient2Policy ポリシー・セットに含まれる HTTP トランスポート・ポリシーの接続タイムアウト値をカスタマイズします。
- 「HTTPServiceClient1Policy」をクリックします。
- 「ポリシー」コレクションで、をクリックします。
- 「HTTP トランスポートのポリシー構成」パネルで、HTTP 接続の読み取りと書き込みのタイムアウト値を 500 秒に変更します。
- との順にクリックして、マスター構成に対して行った
変更を保存します。
- 「HTTPServiceClient2Policy 」をクリックします。
- 「ポリシー」コレクションで、をクリックします。
- 「HTTP トランスポートのポリシー構成」パネルで、HTTP 接続タイムアウト値を 360 秒に変更します。
- との順にクリックして、マスター構成に対して行った
変更を保存します。
- カスタム HTTP トランスポート・ポリシー HTTPServiceClient1Policy をアプリケーション ServiceClient1 に関連付けます。 同様に、カスタム HTTP トランスポート・ポリシー HTTPServiceClient2Policy をアプリケーション ServiceClient2 に関連付けます。
- 「ServiceClient1」をクリックします。
- 「ポリシー・セット関連付け (Policy set attachments)」コレクションから、ServiceClient1 というサービスを選択します。
- 「」をクリックして HTTPServiceClient1Policy をクリックします。
- 「」をクリックして、マスター構成に対して行った変更を保存します。
- 「ServiceClient2」をクリックします。
- 「ポリシー・セット関連付け (Policy set attachments)」コレクションから、ServiceClient2 というサービスを選択します。
- 「」をクリックして HTTPServiceClient2Policy をクリックします。
- 「」をクリックして、マスター構成に対して行った変更を保存します。
これで、ServiceClient1 アプリケーションに HTTPServiceClient1Policy が関連付けられ、HTTP セッションで 500 秒の読み取りおよび書き込みのタイムアウト値が使用されます。 また、ServiceClient2 アプリケーションに HTTPServiceClient2Policy が関連付けられ、HTTP セッションで 360 秒の接続タイムアウト値が使用されます。
次のタスク
ポリシーをカスタマイズして、SSL トランスポート・ポリシーを構成することでメッセージ・セキュリティーを確保できます。