クラス HttpComponentsMessageSender
java.lang.ObjectSE
org.springframework.ws.transport.http.AbstractHttpWebServiceMessageSender
org.springframework.ws.transport.http.HttpComponentsMessageSender
- 実装されているすべてのインターフェース:
org.springframework.beans.factory.DisposableBean、org.springframework.beans.factory.InitializingBean、WebServiceMessageSender
public class HttpComponentsMessageSender
extends AbstractHttpWebServiceMessageSender
implements org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean
Apache HttpClient を使用して POST リクエストを実行する
WebServiceMessageSender 実装。 事前構成された HttpClient インスタンスを、認証、HTTP 接続プーリングなどで使用できるようにします。認証は、Credentials インスタンス(UsernamePasswordCredentials など)を挿入することによって設定することもできます。
- 導入:
- 2.1.0
- 作成者:
- Alan Stewart, Barry Pitman, Arjen Poutsma, Greg Turnquist
- 関連事項:
HttpClient
ネストされたクラスの要約
ネストされたクラス修飾子と型クラス説明static classHttpClientContent-LengthおよびTransfer-Encodingヘッダーをリクエストから削除するHttpRequestInterceptor実装。フィールドのサマリー
クラス org.springframework.ws.transport.http.AbstractHttpWebServiceMessageSender から継承されたフィールド
loggerコンストラクターの概要
コンストラクターコンストラクター説明デフォルトのPoolingClientConnectionManagerを使用するデフォルトのHttpClientを使用して、HttpClientMessageSenderの新しいインスタンスを作成します。HttpComponentsMessageSender(org.apache.http.client.HttpClient httpClient) 指定されたHttpClientインスタンスを使用してHttpClientMessageSenderの新しいインスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明voidcreateConnection(URISE uri) 指定された URI に新しいWebServiceConnectionを作成します。protected org.apache.http.protocol.HttpContextcreateContext(URISE uri) 指定された URI のHttpContextの作成を可能にするテンプレートメソッド。voiddestroy()org.apache.http.client.HttpClientこのメッセージ送信者が使用するHttpClientを返します。voidsetAuthScope(org.apache.http.auth.AuthScope authScope) 使用する認証範囲を設定します。voidsetConnectionTimeout(int timeout) 接続が確立されるまでのタイムアウトを設定します。voidsetCredentials(org.apache.http.auth.Credentials credentials) 使用する資格情報を設定します。voidsetHttpClient(org.apache.http.client.HttpClient httpClient) このメッセージ送信者が使用するHttpClientを設定します。voidsetMaxConnectionsPerHost(MapSE<StringSE, StringSE> maxConnectionsPerHost) 基盤となる HttpClient のホストあたりの最大接続数を設定します。voidsetMaxTotalConnections(int maxTotalConnections) 基礎となる HttpClient に許可される接続の最大数を設定します。voidsetReadTimeout(int timeout) 基になる HttpClient のソケット読み取りタイムアウトを設定します。クラス org.springframework.ws.transport.http.AbstractHttpWebServiceMessageSender から継承されたメソッド
isAcceptGzipEncoding, setAcceptGzipEncoding, supports
コンストラクターの詳細
HttpComponentsMessageSender
public HttpComponentsMessageSender()デフォルトのPoolingClientConnectionManagerを使用するデフォルトのHttpClientを使用して、HttpClientMessageSenderの新しいインスタンスを作成します。HttpComponentsMessageSender
public HttpComponentsMessageSender(org.apache.http.client.HttpClient httpClient) 指定されたHttpClientインスタンスを使用してHttpClientMessageSenderの新しいインスタンスを作成します。このコンストラクターは、指定された
HttpClientを変更しません。そのため、タイムアウトを設定したり、HttpComponentsMessageSender.RemoveSoapHeadersInterceptorを追加したりすることはありません。- パラメーター:
httpClient- この送信者に使用する HttpClient インスタンス
メソッドの詳細
setCredentials
public void setCredentials(org.apache.http.auth.Credentials credentials) 使用する資格情報を設定します。設定されていない場合、認証は行われません。- 関連事項:
UsernamePasswordCredentialsNTCredentials
getHttpClient
public org.apache.http.client.HttpClient getHttpClient()このメッセージ送信者が使用するHttpClientを返します。setHttpClient
public void setHttpClient(org.apache.http.client.HttpClient httpClient) このメッセージ送信者が使用するHttpClientを設定します。setConnectionTimeout
public void setConnectionTimeout(int timeout) 接続が確立されるまでのタイムアウトを設定します。値 0 は、タイムアウトしないことを意味します。- パラメーター:
timeout- ミリ秒単位のタイムアウト値- 関連事項:
HttpConnectionParams.setConnectionTimeout(org.apache.http.params.HttpParams, int)
setReadTimeout
public void setReadTimeout(int timeout) 基礎となる HttpClient のソケット読み取りタイムアウトを設定します。値 0 は、タイムアウトしないことを意味します。- パラメーター:
timeout- ミリ秒単位のタイムアウト値- 関連事項:
HttpConnectionParams.setSoTimeout(org.apache.http.params.HttpParams, int)
setMaxTotalConnections
public void setMaxTotalConnections(int maxTotalConnections) 基礎となる HttpClient に許可される接続の最大数を設定します。- パラメーター:
maxTotalConnections- 許可される接続の最大数- 関連事項:
PoolingClientConnectionManager.setMaxTotal(int)
setMaxConnectionsPerHost
public void setMaxConnectionsPerHost(MapSE<StringSE, StringSE> maxConnectionsPerHost) throws URISyntaxExceptionSE基盤となる HttpClient のホストあたりの最大接続数を設定します。ホストごとの接続の最大数は、次のようにjava.util.Propertiesクラスで受け入れられる形式で設定できます。https://www.example.com=1 http://www.example.com:8080=7 http://www.springframework.org=10
ホストは URI として指定できます(スキームとポートを使用)。
- パラメーター:
maxConnectionsPerHost- 接続の最大数を指定するプロパティオブジェクト- 例外:
URISyntaxExceptionSE- 関連事項:
PoolingClientConnectionManager.setMaxPerRoute(HttpRoute, int)
setAuthScope
public void setAuthScope(org.apache.http.auth.AuthScope authScope) 使用する認証範囲を設定します。credentialsプロパティが設定されている場合にのみ使用されます。デフォルトでは、
AuthScope.ANYが使用されます。afterPropertiesSet
- 次で指定:
- インターフェース
org.springframework.beans.factory.InitializingBeanのafterPropertiesSet - 例外:
ExceptionSE
createConnection
インターフェースからコピーされた説明:WebServiceMessageSender指定された URI に新しいWebServiceConnectionを作成します。- 次で指定:
- インターフェース
WebServiceMessageSenderのcreateConnection - パラメーター:
uri- 接続を開くための URI- 戻り値:
- 新しい接続
- 例外:
IOExceptionSE- I/O エラーの場合
createContext
指定された URI のHttpContextの作成を可能にするテンプレートメソッド。デフォルトの実装はnullを返します。- パラメーター:
uri- コンテキストを作成する URI- 戻り値:
- コンテキスト、または
null
destroy
- 次で指定:
- インターフェース
org.springframework.beans.factory.DisposableBeanのdestroy - 例外:
ExceptionSE