HTTP トランスポート・プロパティーを使用して、HTTP アウトバウンド接続の接続プールの管理、HTTP メッセージのコンテンツ・エンコードの構成、HTTP 持続接続の使用可能化、タイムアウト発生時の HTTP 要求の再送信を、行うことができます。
接続の確立は、コストのかかる処理です。 接続プールを使用すると、接続の作成および切断のオーバーヘッドが回避されて、パフォーマンスが向上します。 アプリケーションが HTTP トランスポートを介して Web サービスを呼び出すと、Web サービスの HTTP アウトバウンド・コネクターは接続プールから既存の接続を検索して、使用します。 応答が受信されると、コネクターは接続を接続プールに戻して、再利用します。 接続の作成および切断に対するオーバーヘッドが回避されます。
このプロパティーは、接続がタイムアウトを要求し、WebServicesFault( "Connection timed out" ) エラーを発生する際の間隔を秒単位で指定します。プロパティーは、JVM カスタム・プロパティーとしてのみ構成が可能です。 値は、HTTP アウトバウンド・コネクターから送信されるすべての HTTP 接続要求に影響します。接続プールでの接続最大数に達した場合、待機時間が必要です。例えば、プロパティーが 300 に設定されていて、最大接続数に達している場合、コネクターは、接続が使用可能になるのを 300 秒待機します。 300 秒経過後、接続が可能でない場合、WebServicesFault( "Connection timed out" ) エラーが発生します。プロパティーが 0 (ゼロ) に設定されている場合、コネクターは接続が可能になるまで待機します。
アプリケーションに WebServicesFault( "Connection timed out" ) エラーが発生する場合、com.ibm.websphere.webservices.http.connectionTimeout プロパティーの値を高めに設定します。また、アプリケーションの使用法についてもご検討ください。com.ibm.websphere.webservices.http.maxConnection プロパティーの値が 0 (ゼロ) に設定されており、接続数に制限なく使用できる場合、com.ibm.websphere.webservices.http.connectionTimeout プロパティーの値は無視されます。
データ型 | 整数 |
単位 | 秒 |
デフォルト | 300 |
範囲 | 0 (ゼロ) から最大整数まで |
このプロパティーは、HTTP アウトバウンド・コネクターの接続プールで作成される接続の最大数を指定します。プロパティーは、JVM カスタム・プロパティーとしてのみ構成が可能です。このプロパティーは、単一 JVM 内で作成されるすべての Web サービスの HTTP 接続に影響します。接続が最大数に達した場合、新規接続は作成されず、HTTP コネクターは現行接続が接続プールに戻るまで待機します。HTTP コネクターが、接続要求がタイムアウト状態になったために現行接続を待機しない場合、WebServicesFault( "Connection timed out" ) エラーが発生します。例えば、プロパティーが 5 に設定されていて、5 つの接続が使用中の場合、HTTP コネクターは、com.ibm.websphere.webservices.http.connectionTimeout プロパティーに設定された接続が可能になるまでの時間を待機します。
プロパティーが 0 (ゼロ) に設定されている場合、com.ibm.websphere.webservices.http.connectionTimeout プロパティーは無視されます。コネクターは、システムで許可された範囲内で、できるだけ接続を作成しようとします。
データ型 | 整数 |
デフォルト | 50 |
範囲 | 0 (ゼロ) から最大整数まで |
このプロパティーは、接続プール維持スレッドの実行とその次の実行との間隔 (秒) を指定します。 プロパティーは、JVM カスタム・プロパティーとしてのみ構成が可能です。このプロパティーは、単一 JVM 内で作成されるすべての Web サービスの HTTP 接続に影響します。例えば、プロパティーが 180 に設定されていると、プール維持スレッドは 180 秒ごとに実行されます。プール維持スレッドが実行されると、コネクターは、com.ibm.websphere.webservices.http.connectionIdleTimeout プロパティーで設定された時間よりも長くアイドル状態にある接続を破棄します。
データ型 | 整数 |
単位 | 秒 |
デフォルト | 180 |
範囲 | 0 (ゼロ) から最大整数まで |
このプロパティーは、アイドル状態の接続の破棄後の間隔 (秒) を指定します。 プロパティーは、JVM カスタム・プロパティーとしてのみ構成が可能です。例えば、プロパティーが 120 に設定されていると、プール維持スレッドは 2 分間アイドル状態の続く接続を破棄します。このプロパティーは、単一 JVM 内で作成されるすべての Web サービスの HTTP 接続に影響します。
データ型 | 整数 |
単位 | 秒 |
デフォルト | 5 |
範囲 | 0 (ゼロ) から最大整数まで |
Web サービス・アプリケーションのための、追加 HTTP トランスポート・プロパティーも構成することができます。
これらのプロパティーの構成方法について詳しくは、wsadmin を使用して、追加 HTTP トランスポート・プロパティーを構成する、およびアセンブリー・ツールを使用して、追加 HTTP トランスポート・プロパティーを構成するを参照してください。
このプロパティーは、各 HTTP アウトバウンド要求のメッセージで使用するエンコードのタイプを指定します。サポートされるエンコードのフォーマットは、gzip、x-gzip、および deflate を含む HTTP 1.1 プロトコル仕様に準じます。このプロパティーが構成される場合、HTTP 要求の「コンテンツ・エンコード」および「受け入れエンコード」の各ヘッダーもまた、同じ値に設定されます。例えば、プロパティーが gzip に設定されていると、ヘッダーは、「コンテンツ・エンコード: gzip」および「受け入れエンコード: gzip」になります。しかし、プロパティーが設定されていない場合は、HTTP 要求メッセージはエンコードされません。デフォルトは「no encoding」です。
ターゲット Web サーバーが、構成されたコーディング・フォーマットをデコードすることが可能かどうかを確認する必要があります。例えば、プロパティーが gzip に設定されている場合、ターゲット Web サーバーは、gzip エンコードもサポートすることになります。そうでない場合、障害が発生することがあり、状況コード「415 Unsupported Media Type」が表示されることがあります。
圧縮エンコード・フォーマットはサポートされていません。x-gzip エンコードは、gzip エンコードと同じです。
データ型 | ストリング |
有効な値 | gzip、x-gzip、および deflate |
このプロパティーは、各 HTTP 応答のメッセージで使用するエンコードのタイプを指定します。サポートされるエンコードのフォーマットは、gzip、x-gzip、および deflate を含む HTTP 1.1 プロトコル仕様に準じます。このプロパティーが構成される場合、HTTP 応答の「コンテンツ・エンコード」のヘッダーが、同じ値に設定されます。プロパティーが設定されていない場合は、HTTP 応答メッセージのコンテンツはエンコードされません。デフォルト値は no encoding です。
プロパティーが設定されていると、要求クライアントは同じエンコードもサポートする必要があります。そうでない場合、障害が発生することがあり、WebServicesFault() エラーが表示されます。
圧縮エンコード・フォーマットはサポートされていません。x-gzip エンコードは、gzip エンコードと同じです。
データ型 | ストリング |
有効な値 | gzip、x-gzip、または deflate |
このプロパティーでは、コネクターが、ライブ HTTP 接続または永続 HTTP 接続を維持すべきかどうかを指定します。プロパティーを true に設定した場合、コネクターは接続プールでの接続を維持し、後続の HTTP 要求のために接続を再利用します。しかし、syncTimeout(Read timeout) が読み取りのタイムアウトに達した場合やサーバーが接続を除去した場合には、接続はクローズされます。また、アイドル状態にある接続は、プール維持スレッドにより、アイドル時間が接続アイドル・タイムアウトを経過した場合、クローズされます。このプロパティーを false に設定すると、HTTP 要求が送信された後に、接続はクローズします。 新規要求の送信が準備済みで接続が存在しない場合、HTTP コネクターは接続を作成します。
データ型 | ストリング |
デフォルト | True |
有効な値 | True、false |
このプロパティーは、「java.net.ConnectException: read timed out」エラーが記録された後で、 HTTP コネクターに HTTP 要求経由で SOAP メッセージを再送信するように伝えます。 java.net.ConnectException は、ソケットがタイムアウトになった場合や、要求を送信中にサーバーがシャットダウンした時に発生します。このプロパティーが使用できる場合、コネクターは 1 度だけ再接続を試み、同じ SOAP メッセージを HTTP 経由で再送信します。 それ以外の場合には、コネクターは SOAP メッセージの送信を停止し、WebServicesFault エラーが記録されます。
このプロパティーが使用可能な場合には、アプリケーションに問題が発生することがあります。再送信された HTTP 要求は、サーバーにより 2 度受信されることがあり、予期しない結果を発生する原因となることがあります。
データ型 | ストリング |
デフォルト | False |
有効な値 | True、false |