Web サービス・アプリケーションの HTTP トランスポート・カスタム・プロパティー
Java™ API for XML-Based Web Services (JAX-WS) および Java API for XML-based RPC (JAX-RPC) Web サービスの HTTP トランスポート・プロパティーを使用して、HTTP アウトバウンド接続用の接続プールの管理、HTTP メッセージ・コンテンツのエンコード方式の設定、HTTP パーシスタント接続の有効化、およびタイムアウト発生時の HTTP 要求の再送を行います。
接続の確立は、コストのかかる処理です。接続プールを使用すると、接続の作成および切断のオーバーヘッドが回避されて、 パフォーマンスが向上します。アプリケーションが HTTP トランスポートを介して Web サービスを呼び出すと、 Web サービスの HTTP アウトバウンド・コネクターは接続プールから既存の接続を検索して、 使用します。 応答が受信されると、コネクターは接続を接続プールに戻して、再利用します。 接続の作成および切断のオーバーヘッドが回避されます。
- com.ibm.websphere.webservices.http.connectionIdleTimeout
- com.ibm.websphere.webservices.http.connectionKeepAlive
- com.ibm.websphere.webservices.http.connectionPoolCleanUpTime
- com.ibm.websphere.webservices.http.connectionTimeout
- com.ibm.websphere.webservices.http.maxConnection
- com.ibm.websphere.webservices.http.responseContentEncoding
- com.ibm.websphere.webservices.http.requestContentEncoding
- com.ibm.websphere.webservices.http.requestResendEnabled
- com.ibm.websphere.webservices.http.SocketTimeout
- com.ibm.ws.webservices.enableHTTPPrefix
- enableMultiThreadedSession
- HttpInboundPersistReadTimeout
- http.nonProxyHosts
- http.proxyHost
- http.proxyPort
- https.proxyHost
- https.proxyPort
- timeout
- write_timeout
com.ibm.websphere.webservices.http.connectionIdleTimeout
このプロパティーは、接続が再使用されなくなるまでの 間隔を (秒) を指定します。
アプリケーションが新しい接続を要求すると、HTTP アウトバウンド・コネクターは 既存の未使用の接続を検索します。このプロパティーで指定される間隔よりも長い時間 アイドル状態となっている接続が見つかると、その接続は解放される可能性があります。 このプロパティーで指定される間隔よりもアイドル状態が短い 接続が見つかると、その接続が再使用され、検索が終了します。 この検索は 1 つのエンドポイントだけを見つけて、すべての接続を調べる前に停止するため、 アイドル接続が残る可能性があります。
クリーンアップ・タスクは定期的に未使用の接続をすべてチェックし、そのアイドル時間を調べます。クリーンアップ・タスクが、このプロパティーで指定される間隔よりも長い時間 アイドル状態となっている接続を見つけると、その接続が解放されます。このため、アイドル 接続は、クリーンアップ・タスクのタイマー遅延とこのプロパティーの値を加えた時間まで持続することが可能です。 例えば、クリーンアップ・タスクのタイマー遅延が 180 秒で、com.ibm.websphere.webservices.http.connectionIdleTimeout がデフォルト値の 5 秒に設定されている場合、接続は解放されるまでに最大 185 秒間アイドル状態となることができます。クリーンアップ・タスクのタイマー遅延を制御する JVM プロパティー は com.ibm.websphere.webservices.http.connectionPoolCleanUpTime です。
このプロパティーは、単一 JVM 内で作成されるすべての Web サービスの HTTP 接続に影響します。
通知 | 値 |
---|---|
データ型 | 整数 |
単位 | 秒 |
デフォルト | 5 |
範囲 | 0 (ゼロ) から最大整数まで |

このプロパティーの構成方法については、『管理コンソールを使用して、追加 HTTP トランスポート・プロパティーを構成する』の情報を参照してください。
com.ibm.websphere.webservices.http.connectionKeepAlive
このプロパティーでは、コネクターが、ライブ HTTP 接続またはパーシスタント HTTP 接続を維持すべきかどうかを指定します。これは、Web サービス・アプリケーション用に構成できる HTTP トランスポート・プロパティーです。
プロパティーを true に設定した場合、コネクターは接続プールでの接続を維持し、後続の HTTP 要求のために接続を再利用します。しかし、syncTimeout(Read timeout) が読み取りのタイムアウトに達した場合やサーバーが接続を除去した場合には、接続はクローズされます。また、アイドル状態にある接続は、プール維持スレッドにより、アイドル時間がアイドル接続タイムアウト値を経過した場合、クローズされます。このプロパティーを false に設定すると、HTTP 要求が送信された後に、接続はクローズします。 新規要求の送信が準備済みで接続が存在しない場合、HTTP コネクターは接続を作成します。
要求に対する HTTP 200 応答は、要求が受信され、その要求に使用された接続は作動状態で、次の呼び出しに再使用可能であることを示します。 要求に対する HTTP 202 応答は、要求が受信されたが、その要求に使用された接続は再使用できないことを示します。

通知 | 値 |
---|---|
データ型 | ストリング |
デフォルト | true |
有効な値 | true、false |
このプロパティーの構成方法について詳しくは、『wsadmin を使用して、追加 HTTP トランスポート・プロパティーを構成する』および『アセンブリー・ツールを使用して、追加 HTTP トランスポート・プロパティーを構成する』を参照してください。
com.ibm.websphere.webservices.http.connectionPoolCleanUpTime
このプロパティーは、接続プール維持スレッドの実行とその次の実行との間隔 (秒) を指定します。
このプロパティーは、単一 JVM 内で作成されるすべての Web サービスの HTTP 接続に影響します。例えば、プロパティーが 180 に設定されていると、プール維持スレッドは 180 秒ごとに実行されます。プール維持スレッドが実行されると、コネクターは、クリーンアップ・キューで接続を破棄します。
通知 | 値 |
---|---|
データ型 | 整数 |
単位 | 秒 |
デフォルト | 180 |
範囲 | 0 (ゼロ) から最大整数まで |

このプロパティーの構成方法については、『管理コンソールを使用して、追加 HTTP トランスポート・プロパティーを構成する』の情報を参照してください。
com.ibm.websphere.webservices.http.connectionTimeout
このプロパティーは、接続がタイムアウトを要求し、WebServicesFault( "Connection timed out" ) エラーを発生する際の間隔を秒単位で指定します。
値は、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 トランスポート・プロパティーを構成する』の情報を参照してください。
com.ibm.websphere.webservices.http.maxConnection
このプロパティーは、HTTP アウトバウンド・コネクターの接続プールで作成される接続の最大数を指定します。
このプロパティーは、単一 JVM 内で作成されるすべての Web サービスの HTTP 接続に影響します。接続が最大数に達した場合、新規接続は作成されず、HTTP コネクターは現行接続が接続プールに戻るまで待機します。HTTP コネクターが、接続要求がタイムアウト状態になったために現行接続を待機しない場合、WebServicesFault( "Connection timed out" ) エラーが発生します。例えば、プロパティーが 5 に設定されていて、5 つの接続が使用中の場合、HTTP コネクターは、com.ibm.websphere.webservices.http.connectionTimeout プロパティーに設定された接続が可能になるまでの時間を待機します。

通知 | 値 |
---|---|
データ型 | 整数 |
デフォルト | 25 (JAX-RPC アプリケーションの場合) 50 (JAX-WS アプリケーションの場合) |
範囲 | 5 から最大整数まで (Web コンテナー・スレッド・プールのサイズの半分以下) |

このプロパティーの構成方法については、『管理コンソールを使用して、追加 HTTP トランスポート・プロパティーを構成する』の情報を参照してください。
com.ibm.websphere.webservices.http.responseContentEncoding
このプロパティーは、各 HTTP 応答のメッセージで使用するエンコードのタイプを指定します。これは、Web サービス・アプリケーション用に構成できる HTTP トランスポート・プロパティーです。

サポートされるエンコードのフォーマットは、gzip、x-gzip、および deflate を含む HTTP 1.1 プロトコル仕様に準じます。このプロパティーが構成される場合、HTTP 応答の「コンテンツ・エンコード」のヘッダーが、同じ値に設定されます。プロパティーが設定されていない場合は、HTTP 応答メッセージのコンテンツはエンコードされません。デフォルト値は no encoding です。
プロパティーが設定されていると、要求クライアントは同じエンコードもサポートする必要があります。そうでない場合、障害が発生することがあり、WebServicesFault() エラーが表示されます。
圧縮エンコード・フォーマットはサポートされていません。x-gzip エンコードは、gzip エンコードと同じです。
通知 | 値 |
---|---|
データ型 | ストリング |
有効な値 | gzip、x-gzip、または deflate |
このプロパティーの構成方法について詳しくは、『wsadmin を使用して、追加 HTTP トランスポート・プロパティーを構成する』および『アセンブリー・ツールを使用して、追加 HTTP トランスポート・プロパティーを構成する』を参照してください。
com.ibm.websphere.webservices.http.requestContentEncoding
このプロパティーは、各 HTTP アウトバウンド要求のメッセージで使用するエンコードのタイプを指定します。これは、Web サービス・アプリケーション用に構成できる 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 |
このプロパティーの構成方法について詳しくは、『wsadmin を使用して、追加 HTTP トランスポート・プロパティーを構成する』および『アセンブリー・ツールを使用して、追加 HTTP トランスポート・プロパティーを構成する』を参照してください。
com.ibm.websphere.webservices.http.requestResendEnabled
このプロパティーは、「java.net.ConnectException: read timed out」エラーが記録された後で、 HTTP コネクターに HTTP 要求経由で SOAP メッセージを再送信するように伝えます。 これは、Web サービス・アプリケーション用に構成できる HTTP トランスポート・プロパティーです。
このプロパティーは、「java.net.ConnectException: read timed out」エラーが記録された後で、 HTTP コネクターに HTTP 要求経由で SOAP メッセージを再送信するように伝えます。 java.net.ConnectException は、ソケットがタイムアウトになった場合や、要求を送信中にサーバーがシャットダウンした時に発生します。このプロパティーが使用できる場合、コネクターは 1 度だけ再接続を試み、同じ SOAP メッセージを HTTP 経由で再送信します。 それ以外の場合には、コネクターは SOAP メッセージの送信を停止し、WebServicesFault エラーが記録されます。
このプロパティーが使用可能な場合には、アプリケーションに問題が発生することがあります。再送信された HTTP 要求は、サーバーにより 2 度受信されることがあり、予期しない結果を発生する原因となることがあります。
通知 | 値 |
---|---|
データ型 | ストリング |
デフォルト | False |
有効な値 | true、false |
このプロパティーの構成方法について詳しくは、『wsadmin を使用して、追加 HTTP トランスポート・プロパティーを構成する』および『アセンブリー・ツールを使用して、追加 HTTP トランスポート・プロパティーを構成する』を参照してください。
com.ibm.websphere.webservices.http.SocketTimeout
このプロパティーは、リモート・サーバーでアウトバウンド・ソケットが確立されるまで待機する時間を秒単位で指定します。
このプロパティーは、単一 JVM 内で作成されるすべての Web サービスの HTTP 接続に影響します。無効な値が指定された場合は、デフォルト値がこの無効値をオーバーライドします。
通知 | 値 |
---|---|
データ型 | 整数 |
単位 | 秒 |
デフォルト | 180 重要: 無効な値が指定された場合は、デフォルト値がこの無効値をオーバーライドします。
|
範囲 | 0 (ゼロ) から 2147482 (最大整数) まで |

このプロパティーの構成方法については、『管理コンソールを使用して、追加 HTTP トランスポート・プロパティーを構成する』の情報を参照してください。
com.ibm.ws.webservices.enableHTTPPrefix
このプロパティーは、管理コンソールの「HTTP エンドポイント URL 情報の指定」パネルでカスタム HTTP URL のプレフィックスとして定義した hostname:port の値を、サービスからクライアントに返される WSDL ファイルのコピー内の URL フィールドに取り込むかどうかを指定します。これは、Web サービス・アプリケーション用に構成できる HTTP トランスポート・プロパティーです。
このプロパティーに true の値を構成して、指定したカスタム HTTP URL プレフィックスが、クライアントに返される WSDL ファイルに正しく指定されるようにします。このプロパティーに true の値が設定されていない場合、要求に応答するサーバー・ノードの指定したカスタム値 hostname:port が、クライアントに返される WSDL ファイルのコピー内の URL フィールドに取り込まれません。
通知 | 値 |
---|---|
データ型 | ストリング |
デフォルト | False |
有効な値 | true、false |

このカスタム・プロパティーをシステムで使用するには、このプロパティーを定義した後でアプリケーション・サーバーを再始動する必要があります。
enableMultiThreadedSession
このプロパティーは、クライアントが同じクライアント・インスタンスのスレッド間で HTTP セッション情報を共有できるようにするかどうかを指定します。 この動作を有効にするには、クライアント・スタブ上の _setProperty メソッドを呼び出して、このプロパティーに true の値を設定します。 このプロパティーが有効でない場合のデフォルトの動作では、クライアントが呼び出されたスレッドに対してローカルなセッションが作成されます。
このプロパティーは、Java API for XML-based RPC (JAX-RPC) Web サービスにのみ適用されます。
Properties prop = new Properties();
InitialContext ctx = new InitialContext(prop);
Service service = (Service)ctx.lookup("java:comp/env/service/StockQuoteService");
QName portQname = new QName("http://httpchannel.test.wsfvt.ws.ibm.com", "StockQuoteHttp");
StockQuote sq = (StockQuote)service.getPort(portQname, StockQuote.class);
((javax.xml.rpc.Stub) sq)._setProperty(com.ibm.wsspi.webservices.Constants.ENABLE_MULTITHREADED_SESSION, Boolean.TRUE);
通知 | 値 |
---|---|
データ型 | ブール |
デフォルト | False |
有効な値 | true、false |
このカスタム・プロパティーをシステムで使用するには、このプロパティーを定義した後でアプリケーション・サーバーを再始動する必要があります。
HttpInboundPersistReadTimeout
このプロパティーは、非同期 JAX-WS アプリケーションでパーシスタント読み取りのタイムアウトが発生するまでの時間を秒単位で指定します。

java.io.IOException: Async IO operation failed (1), reason: RC: 32 Broken pipe
この例外は、クライアントでパーシスタント読み取りのタイムアウト限度を超え、その結果、接続がクローズしたことが原因で発生します。このプロパティーは、大きいファイルを読み取る場合、または、ネットワークが遅く、サーバー・サイドでデータの読み取りにデフォルト値の 7 秒を超える時間を要する場合に使用してください。サーバー・サイドで broken pipe 例外を 受け取った場合は、このタイムアウト・プロパティーの値を 増やしてください。
通知 | 値 |
---|---|
データ型 | 整数 |
単位 | 秒 |
デフォルト | 7 |
有効な値 | 0 (ゼロ) から最大整数まで |
このプロパティーの構成方法については、『管理コンソールを使用して、追加 HTTP トランスポート・プロパティーを構成する』の情報を参照してください。
http.nonProxyHosts
この JVM システム・プロパティーは、http.proxyHost および https.proxyHost プロパティーへのオーバーライドとして機能し、要求がプロキシー・サーバーを介して送信されないマシンのホスト名を指定します。これは、Web サービス・アプリケーション用に構成できる HTTP トランスポート・プロパティーです。
クライアント・アプリケーションによって呼び出される要求のうち、このプロパティーに含まれる名前を持つホストに送信されるものは、プロキシー・サーバーを経由しません。リスト内の各ホスト名は縦線 (「|」) で区切ります。 オプションで、アスタリスク (*) をワイルドカード文字として使用することができます。
http.nonProxyHosts プロパティーは、HTTP 接続および HTTPS 接続の両方に適用されます。
- プロキシー・ホストについては、http.proxyHost という名前と myproxy.mycompany.com という値を入力します。
- 非プロキシー・ホストについては、http.nonProxyHosts という名前と host1.company1.com|host*.company2.com|*.company3.com という値を入力します。
- host1.company1.com と呼ばれる単一ホスト
- host で始まる名前を持つ company2.com ドメインの任意のホスト
- company3.com ドメイン内の任意のホスト
http.nonProxyHosts="host1.company1.com|host*.company2.com|*.company3.com|host1"

通知 | 値 |
---|---|
データ型 | ストリング |

このプロパティーの構成方法については、『管理コンソールを使用して、追加 HTTP トランスポート・プロパティーを構成する』の情報を参照してください。
http.proxyHost
このプロパティーは、HTTP プロキシーのホスト名を指定します。これは、Web サービス・アプリケーションに構成できる HTTP トランスポート・プロパティーです。
通知 | 値 |
---|---|
データ型 | ストリング |
このプロパティーの構成方法について詳しくは、『wsadmin を使用して、追加 HTTP トランスポート・プロパティーを構成する』および『アセンブリー・ツールを使用して、追加 HTTP トランスポート・プロパティーを構成する』を参照してください。
http.proxyPort
このプロパティーは、HTTP プロキシーのポートを指定します。これは Web サービス・アプリケーションに構成できる HTTP トランスポート・プロパティーです。
通知 | 値 |
---|---|
データ型 | ストリング |
このプロパティーの構成方法について詳しくは、『wsadmin を使用して、追加 HTTP トランスポート・プロパティーを構成する』および『アセンブリー・ツールを使用して、追加 HTTP トランスポート・プロパティーを構成する』を参照してください。
https.proxyHost
このプロパティーは、HTTPS プロキシーのホスト名を指定します。これは、Web サービス・アプリケーションに構成できる HTTP トランスポート・プロパティーです。
通知 | 値 |
---|---|
データ型 | ストリング |
このプロパティーの構成方法について詳しくは、『wsadmin を使用して、追加 HTTP トランスポート・プロパティーを構成する』および『アセンブリー・ツールを使用して、追加 HTTP トランスポート・プロパティーを構成する』を参照してください。
https.proxyPort
このプロパティーは、HTTPS プロキシーのポートを指定します。これは Web サービス・アプリケーションに構成できる HTTP トランスポート・プロパティーです。
通知 | 値 |
---|---|
データ型 | ストリング |
このプロパティーの構成方法について詳しくは、『wsadmin を使用して、追加 HTTP トランスポート・プロパティーを構成する』および『アセンブリー・ツールを使用して、追加 HTTP トランスポート・プロパティーを構成する』を参照してください。
timeout
このプロパティーは、読み取りがタイムアウトになるまでの時間を秒単位で指定します。
大容量の Web サービス・メッセージを読み取っているときに、Web サービスを呼び出すと、SocketTimeoutExceptions エラーを示す WSWS3228E メッセージを受け取る場合があります。
値は、HTTP インバウンド・コネクターからのすべての HTTP 接続要求に影響します。この読み取りタイムアウト・プロパティーは、大容量のデータの読み取り時、またはネットワークの速度が遅く、データの読み取りにデフォルトの 300 秒を超える時間を要する場合に使用します。 メッセージの読み取り時に SocketTimeoutExceptions エラーが発生する場合は、このタイムアウト・プロパティーの値を増やしてください。
通知 | 値 |
---|---|
データ型 | 整数 |
単位 | 秒 |
デフォルト | 300 |
範囲 | 0 (ゼロ) から最大整数まで |

JAX-WS アプリケーションの場合は、HTTP トランスポート・ポリシーをカスタマイズするか、あるいは JAX-WS バインディングを使用して、このプロパティーを構成することもできます。これらの手段でこのプロパティーを構成する方法については、管理コンソールを使用した追加 HTTP トランスポート・プロパティーの構成、または HTTP トランスポートのポリシーおよびバインディングのプロパティーの構成に関する情報を参照してください。
write_timeout
このプロパティーは、メッセージ送信時に書き込みアクションがタイムアウトになる時間を秒単位で指定します。
大容量の Web サービス・メッセージを書き込んでいるときに、Web サービスを呼び出すと、SocketTimeoutExceptions エラーを示す WSWS3228E メッセージを受け取る場合があります。
値は、HTTP アウトバウンド・コネクターから送信されるすべての HTTP 接続要求に影響します。この書き込みタイムアウト・プロパティーは、大容量のデータの送信時、またはネットワークの速度が遅く、データの書き込みにデフォルトの 300 秒を超える時間を要する場合に使用します。 メッセージの書き込み時に SocketTimeoutExceptions エラーが発生する場合は、この write_timeout プロパティーの値を増やしてください。
通知 | 値 |
---|---|
データ型 | 整数 |
単位 | 秒 |
デフォルト | 300 |
範囲 | 0 (ゼロ) から最大整数まで |

JAX-WS アプリケーションの場合は、HTTP トランスポート・ポリシーをカスタマイズするか、あるいは JAX-WS バインディングを使用して、このプロパティーを構成することもできます。これらの手段でこのプロパティーを構成する方法については、管理コンソールを使用した追加 HTTP トランスポート・プロパティーの構成、または HTTP トランスポートのポリシーおよびバインディングのプロパティーの構成に関する情報を参照してください。