diff --git a/build.gradle b/build.gradle index 4bf5cf0f..755c7c85 100644 --- a/build.gradle +++ b/build.gradle @@ -185,7 +185,7 @@ project('spring-ws-core') { // Transport provided("javax.servlet:javax.servlet-api:3.0.1") - optional("org.apache.httpcomponents:httpclient:4.2.5") + optional("org.apache.httpcomponents:httpclient:4.3.4") optional("commons-httpclient:commons-httpclient:3.1") testCompile("org.mortbay.jetty:jetty:6.1.26") diff --git a/spring-ws-core/src/main/java/org/springframework/ws/transport/http/HttpComponentsMessageSender.java b/spring-ws-core/src/main/java/org/springframework/ws/transport/http/HttpComponentsMessageSender.java index 16e9fcf6..cfe50d4b 100644 --- a/spring-ws-core/src/main/java/org/springframework/ws/transport/http/HttpComponentsMessageSender.java +++ b/spring-ws-core/src/main/java/org/springframework/ws/transport/http/HttpComponentsMessageSender.java @@ -31,11 +31,7 @@ import org.apache.http.auth.Credentials; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; -import org.apache.http.conn.ClientConnectionManager; import org.apache.http.conn.routing.HttpRoute; -import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.http.impl.conn.PoolingClientConnectionManager; -import org.apache.http.params.HttpConnectionParams; import org.apache.http.protocol.HTTP; import org.apache.http.protocol.HttpContext; @@ -58,6 +54,7 @@ import org.springframework.ws.transport.WebServiceConnection; * @see HttpClient * @since 2.1.0 */ +@SuppressWarnings("deprecation") public class HttpComponentsMessageSender extends AbstractHttpWebServiceMessageSender implements InitializingBean, DisposableBean { @@ -73,10 +70,11 @@ public class HttpComponentsMessageSender extends AbstractHttpWebServiceMessageSe /** * Create a new instance of the {@code HttpClientMessageSender} with a default {@link HttpClient} that uses a - * default {@link PoolingClientConnectionManager}. + * default {@link org.apache.http.impl.conn.PoolingClientConnectionManager}. */ public HttpComponentsMessageSender() { - DefaultHttpClient defaultClient = new DefaultHttpClient(new PoolingClientConnectionManager()); + org.apache.http.impl.client.DefaultHttpClient defaultClient = + new org.apache.http.impl.client.DefaultHttpClient(new org.apache.http.impl.conn.PoolingClientConnectionManager()); defaultClient.addRequestInterceptor(new RemoveSoapHeadersInterceptor(), 0); this.httpClient = defaultClient; @@ -90,7 +88,7 @@ public class HttpComponentsMessageSender extends AbstractHttpWebServiceMessageSe *
* This constructor does not change the given {@code HttpClient} in any way. As such, * it does not set timeouts, nor does it - * {@linkplain DefaultHttpClient#addRequestInterceptor(org.apache.http.HttpRequestInterceptor) add} + * {@linkplain org.apache.http.impl.client.DefaultHttpClient#addRequestInterceptor(org.apache.http.HttpRequestInterceptor) add} * the {@link RemoveSoapHeadersInterceptor}. * * @param httpClient the HttpClient instance to use for this sender @@ -134,7 +132,7 @@ public class HttpComponentsMessageSender extends AbstractHttpWebServiceMessageSe if (timeout < 0) { throw new IllegalArgumentException("timeout must be a non-negative value"); } - HttpConnectionParams.setConnectionTimeout(getHttpClient().getParams(), timeout); + org.apache.http.params.HttpConnectionParams.setConnectionTimeout(getHttpClient().getParams(), timeout); } /** @@ -147,26 +145,26 @@ public class HttpComponentsMessageSender extends AbstractHttpWebServiceMessageSe if (timeout < 0) { throw new IllegalArgumentException("timeout must be a non-negative value"); } - HttpConnectionParams.setSoTimeout(getHttpClient().getParams(), timeout); + org.apache.http.params.HttpConnectionParams.setSoTimeout(getHttpClient().getParams(), timeout); } /** * Sets the maximum number of connections allowed for the underlying HttpClient. * * @param maxTotalConnections the maximum number of connections allowed - * @see PoolingClientConnectionManager#setMaxTotal(int) + * @see org.apache.http.impl.conn.PoolingClientConnectionManager#setMaxTotal(int) */ public void setMaxTotalConnections(int maxTotalConnections) { if (maxTotalConnections <= 0) { throw new IllegalArgumentException("maxTotalConnections must be a positive value"); } - ClientConnectionManager connectionManager = getHttpClient().getConnectionManager(); - if (!(connectionManager instanceof PoolingClientConnectionManager)) { + org.apache.http.conn.ClientConnectionManager connectionManager = getHttpClient().getConnectionManager(); + if (!(connectionManager instanceof org.apache.http.impl.conn.PoolingClientConnectionManager)) { throw new IllegalArgumentException("maxTotalConnections is not supported on " + - connectionManager.getClass().getName() + ". Use " + PoolingClientConnectionManager.class.getName() + + connectionManager.getClass().getName() + ". Use " + org.apache.http.impl.conn.PoolingClientConnectionManager.class.getName() + " instead"); } - ((PoolingClientConnectionManager) connectionManager).setMaxTotal(maxTotalConnections); + ((org.apache.http.impl.conn.PoolingClientConnectionManager) connectionManager).setMaxTotal(maxTotalConnections); } /** @@ -182,17 +180,17 @@ public class HttpComponentsMessageSender extends AbstractHttpWebServiceMessageSe *
The host can be specified as a URI (with scheme and port).
*
* @param maxConnectionsPerHost a properties object specifying the maximum number of connection
- * @see PoolingClientConnectionManager#setMaxPerRoute(HttpRoute, int)
+ * @see org.apache.http.impl.conn.PoolingClientConnectionManager#setMaxPerRoute(HttpRoute, int)
*/
public void setMaxConnectionsPerHost(Map