You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2017/06/07 17:53:53 UTC

[1/2] cxf git commit: Remove old commons-httpclient code

Repository: cxf
Updated Branches:
  refs/heads/master e0ace3dc7 -> 8e8f01a3c


http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerUserResourceTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerUserResourceTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerUserResourceTest.java
index 8395cbc..c246a8f 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerUserResourceTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerUserResourceTest.java
@@ -27,8 +27,6 @@ import java.util.List;
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.Unmarshaller;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
 import org.apache.cxf.jaxrs.model.AbstractResourceInfo;
 import org.apache.cxf.jaxrs.model.Parameter;
@@ -37,7 +35,10 @@ import org.apache.cxf.jaxrs.model.UserOperation;
 import org.apache.cxf.jaxrs.model.UserResource;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
 import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
-
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -137,13 +138,13 @@ public class JAXRSClientServerUserResourceTest extends AbstractBusClientServerTe
     private void getAndCompare(String address,
                                String acceptType,
                                int expectedStatus) throws Exception {
-        GetMethod get = new GetMethod(address);
-        get.setRequestHeader("Accept", acceptType);
-        HttpClient httpClient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet(address);
+        get.addHeader("Accept", acceptType);
         try {
-            int result = httpClient.executeMethod(get);
-            assertEquals(expectedStatus, result);
-            Book book = readBook(get.getResponseBodyAsStream());
+            CloseableHttpResponse response = client.execute(get);
+            assertEquals(expectedStatus, response.getStatusLine().getStatusCode());
+            Book book = readBook(response.getEntity().getContent());
             assertEquals(123, book.getId());
             assertEquals("CXF in Action", book.getName());
         } finally {
@@ -154,13 +155,13 @@ public class JAXRSClientServerUserResourceTest extends AbstractBusClientServerTe
     private void getAndCompareChapter(String address,
                                String acceptType,
                                int expectedStatus) throws Exception {
-        GetMethod get = new GetMethod(address);
-        get.setRequestHeader("Accept", acceptType);
-        HttpClient httpClient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet(address);
+        get.addHeader("Accept", acceptType);
         try {
-            int result = httpClient.executeMethod(get);
-            assertEquals(expectedStatus, result);
-            Chapter c = readChapter(get.getResponseBodyAsStream());
+            CloseableHttpResponse response = client.execute(get);
+            assertEquals(expectedStatus, response.getStatusLine().getStatusCode());
+            Chapter c = readChapter(response.getEntity().getContent());
             assertEquals(1, c.getId());
             assertEquals("chapter 1", c.getTitle());
         } finally {

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSCxfContinuationsServlet3Test.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSCxfContinuationsServlet3Test.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSCxfContinuationsServlet3Test.java
index e3bedd2..9cbdf04 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSCxfContinuationsServlet3Test.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSCxfContinuationsServlet3Test.java
@@ -19,10 +19,13 @@
 
 package org.apache.cxf.systest.jaxrs;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.cxf.jaxrs.model.AbstractResourceInfo;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -40,15 +43,15 @@ public class JAXRSCxfContinuationsServlet3Test extends AbstractBusClientServerTe
     @Test
     public void testEncodedURL() throws Exception {
         String id = "A%20B%20C"; // "A B C"
-        GetMethod get = new GetMethod("http://localhost:" + PORT + "/bookstore/books/" + id);
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet("http://localhost:" + PORT + "/bookstore/books/" + id);
 
         try {
-            int result = httpclient.executeMethod(get);
+            CloseableHttpResponse response = client.execute(get);
             assertEquals("Encoded path '/" + id + "' is not handled successfully",
-                         200, result);
+                         200, response.getStatusLine().getStatusCode());
             assertEquals("Book description for id " + id + " is wrong",
-                         "CXF in Action A B C", get.getResponseBodyAsString());
+                         "CXF in Action A B C", EntityUtils.toString(response.getEntity()));
         } finally {
             // Release current connection to the connection pool once you are done
             get.releaseConnection();

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSCxfContinuationsTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSCxfContinuationsTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSCxfContinuationsTest.java
index e56e776..e6f58a1 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSCxfContinuationsTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSCxfContinuationsTest.java
@@ -24,11 +24,13 @@ import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.cxf.jaxrs.model.AbstractResourceInfo;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
-
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
@@ -74,14 +76,14 @@ public class JAXRSCxfContinuationsTest extends AbstractBusClientServerTestBase {
     }
 
     private void checkBook(String address, String id, String expected) throws Exception {
-        GetMethod get = new GetMethod(address);
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet(address);
 
         try {
-            int result = httpclient.executeMethod(get);
-            assertEquals(200, result);
+            CloseableHttpResponse response = client.execute(get);
+            assertEquals(200, response.getStatusLine().getStatusCode());
             assertEquals("Book description for id " + id + " is wrong",
-                         expected, get.getResponseBodyAsString());
+                         expected, EntityUtils.toString(response.getEntity()));
         } finally {
             // Release current connection to the connection pool once you are done
             get.releaseConnection();
@@ -128,15 +130,15 @@ public class JAXRSCxfContinuationsTest extends AbstractBusClientServerTestBase {
     @Test
     public void testEncodedURL() throws Exception {
         String id = "A%20B%20C"; // "A B C"
-        GetMethod get = new GetMethod("http://localhost:" + PORT + "/bookstore/books/" + id);
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet("http://localhost:" + PORT + "/bookstore/books/" + id);
 
         try {
-            int result = httpclient.executeMethod(get);
+            CloseableHttpResponse response = client.execute(get);
             assertEquals("Encoded path '/" + id + "' is not handled successfully",
-                         200, result);
+                         200,  response.getStatusLine().getStatusCode());
             assertEquals("Book description for id " + id + " is wrong",
-                         "CXF in Action A B C", get.getResponseBodyAsString());
+                         "CXF in Action A B C", EntityUtils.toString(response.getEntity()));
         } finally {
             // Release current connection to the connection pool once you are done
             get.releaseConnection();

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java
index 2d812e2..a4c5791 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java
@@ -44,14 +44,6 @@ import javax.ws.rs.core.Response;
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.Unmarshaller;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.RequestEntity;
-import org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource;
-import org.apache.commons.httpclient.methods.multipart.FilePart;
-import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
-import org.apache.commons.httpclient.methods.multipart.Part;
 import org.apache.cxf.ext.logging.LoggingInInterceptor;
 import org.apache.cxf.ext.logging.LoggingOutInterceptor;
 import org.apache.cxf.helpers.FileUtils;
@@ -66,7 +58,14 @@ import org.apache.cxf.jaxrs.impl.MetadataMap;
 import org.apache.cxf.jaxrs.provider.json.JSONProvider;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
 import org.apache.cxf.transport.http.HTTPConduit;
-
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.InputStreamEntity;
+import org.apache.http.entity.mime.MultipartEntity;
+import org.apache.http.entity.mime.content.ByteArrayBody;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -881,14 +880,14 @@ public class JAXRSMultipartTest extends AbstractBusClientServerTestBase {
 
     @Test
     public void testMultipartRequestNoBody() throws Exception {
-        PostMethod post = new PostMethod("http://localhost:" + PORT + "/bookstore/books/image");
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost("http://localhost:" + PORT + "/bookstore/books/image");
         String ct = "multipart/mixed";
-        post.setRequestHeader("Content-Type", ct);
-        HttpClient httpclient = new HttpClient();
+        post.setHeader("Content-Type", ct);
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(400, result);
+            CloseableHttpResponse response = client.execute(post);
+            assertEquals(400, response.getStatusLine().getStatusCode());
         } finally {
             // Release current connection to the connection pool once you are done
             post.releaseConnection();
@@ -897,44 +896,41 @@ public class JAXRSMultipartTest extends AbstractBusClientServerTestBase {
 
     @Test
     public void testMultipartRequestTooLarge() throws Exception {
-        PostMethod post = new PostMethod("http://localhost:" + PORT + "/bookstore/books/image");
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost("http://localhost:" + PORT + "/bookstore/books/image");
         String ct = "multipart/mixed";
-        post.setRequestHeader("Content-Type", ct);
-        Part[] parts = new Part[1];
-        parts[0] = new FilePart("image",
-                new ByteArrayPartSource("testfile.png", new byte[1024 * 11]),
-                "image/png", null);
-        post.setRequestEntity(new MultipartRequestEntity(parts, post.getParams()));
+        post.setHeader("Content-Type", ct);
+
+        MultipartEntity entity = new MultipartEntity();
+        entity.addPart("image", new ByteArrayBody(new byte[1024 * 11], "testfile.png"));
 
-        HttpClient httpclient = new HttpClient();
+        post.setEntity(entity);
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(413, result);
+            CloseableHttpResponse response = client.execute(post);
+            assertEquals(413, response.getStatusLine().getStatusCode());
         } finally {
             // Release current connection to the connection pool once you are done
             post.releaseConnection();
         }
     }
+
     @Test
     public void testMultipartRequestTooLargeManyParts() throws Exception {
-        PostMethod post = new PostMethod("http://localhost:" + PORT + "/bookstore/books/image");
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost("http://localhost:" + PORT + "/bookstore/books/image");
         String ct = "multipart/mixed";
-        post.setRequestHeader("Content-Type", ct);
-        Part[] parts = new Part[2];
-        parts[0] = new FilePart("image",
-                new ByteArrayPartSource("testfile.png", new byte[1024 * 9]),
-                "image/png", null);
-        parts[1] = new FilePart("image",
-                new ByteArrayPartSource("testfile2.png", new byte[1024 * 11]),
-                "image/png", null);
-        post.setRequestEntity(new MultipartRequestEntity(parts, post.getParams()));
-
-        HttpClient httpclient = new HttpClient();
+        post.setHeader("Content-Type", ct);
+
+        MultipartEntity entity = new MultipartEntity();
+        entity.addPart("image", new ByteArrayBody(new byte[1024 * 9], "testfile.png"));
+        entity.addPart("image", new ByteArrayBody(new byte[1024 * 11], "testfile2.png"));
+
+        post.setEntity(entity);
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(413, result);
+            CloseableHttpResponse response = client.execute(post);
+            assertEquals(413, response.getStatusLine().getStatusCode());
         } finally {
             // Release current connection to the connection pool once you are done
             post.releaseConnection();
@@ -952,24 +948,22 @@ public class JAXRSMultipartTest extends AbstractBusClientServerTestBase {
     }
     private void doAddBook(String type, String address, InputStream is, int status) throws Exception {
 
-        PostMethod post = new PostMethod(address);
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost(address);
 
         String ct = type + "; type=\"text/xml\"; " + "start=\"rootPart\"; "
             + "boundary=\"----=_Part_4_701508.1145579811786\"";
-        post.setRequestHeader("Content-Type", ct);
-
+        post.setHeader("Content-Type", ct);
 
-        RequestEntity entity = new InputStreamRequestEntity(is);
-        post.setRequestEntity(entity);
-        HttpClient httpclient = new HttpClient();
+        post.setEntity(new InputStreamEntity(is));
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(status, result);
+            CloseableHttpResponse response = client.execute(post);
+            assertEquals(status, response.getStatusLine().getStatusCode());
             if (status == 200) {
                 InputStream expected = getClass().getResourceAsStream("resources/expected_add_book.txt");
                 assertEquals(stripXmlInstructionIfNeeded(getStringFromInputStream(expected)),
-                             stripXmlInstructionIfNeeded(post.getResponseBodyAsString()));
+                             stripXmlInstructionIfNeeded(EntityUtils.toString(response.getEntity())));
             }
         } finally {
             // Release current connection to the connection pool once you are done
@@ -978,23 +972,22 @@ public class JAXRSMultipartTest extends AbstractBusClientServerTestBase {
     }
 
     private void doAddFormBook(String address, String resourceName, int status) throws Exception {
-        PostMethod post = new PostMethod(address);
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost(address);
 
         String ct = "multipart/form-data; boundary=bqJky99mlBWa-ZuqjC53mG6EzbmlxB";
-        post.setRequestHeader("Content-Type", ct);
+        post.setHeader("Content-Type", ct);
         InputStream is =
             getClass().getResourceAsStream("/org/apache/cxf/systest/jaxrs/resources/" + resourceName);
-        RequestEntity entity = new InputStreamRequestEntity(is);
-        post.setRequestEntity(entity);
-        HttpClient httpclient = new HttpClient();
+        post.setEntity(new InputStreamEntity(is));
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(status, result);
+            CloseableHttpResponse response = client.execute(post);
+            assertEquals(status, response.getStatusLine().getStatusCode());
             if (status == 200) {
                 InputStream expected = getClass().getResourceAsStream("resources/expected_add_book.txt");
                 assertEquals(stripXmlInstructionIfNeeded(getStringFromInputStream(expected)),
-                             stripXmlInstructionIfNeeded(post.getResponseBodyAsString()));
+                             stripXmlInstructionIfNeeded(EntityUtils.toString(response.getEntity())));
             }
         } finally {
             // Release current connection to the connection pool once you are done

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSSoapBookTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSSoapBookTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSSoapBookTest.java
index 63ba7b8..0e151f3 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSSoapBookTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSSoapBookTest.java
@@ -42,10 +42,6 @@ import javax.xml.namespace.QName;
 import javax.xml.ws.Service;
 import javax.xml.ws.soap.SOAPBinding;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.FileRequestEntity;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.RequestEntity;
 import org.apache.cxf.Bus;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.ext.logging.LoggingInInterceptor;
@@ -82,7 +78,13 @@ import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
 import org.apache.cxf.transport.http.HTTPConduit;
 import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
 import org.apache.http.HttpStatus;
-
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.FileEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -749,20 +751,19 @@ public class JAXRSSoapBookTest extends AbstractBusClientServerTestBase {
             "http://localhost:" + PORT + "/test/services/rest/bookstore/books";
 
         File input = new File(getClass().getResource("resources/add_book.txt").toURI());
-        PostMethod post = new PostMethod(endpointAddress);
-        post.setRequestHeader("Content-Type", "application/xml");
-        RequestEntity entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");
-        post.setRequestEntity(entity);
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost(endpointAddress);
+        post.addHeader("Content-Type", "application/xml");
+        post.setEntity(new FileEntity(input, ContentType.TEXT_XML));
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(200, result);
+            CloseableHttpResponse response = client.execute(post);
+            assertEquals(200, response.getStatusLine().getStatusCode());
 
             InputStream expected = getClass().getResourceAsStream("resources/expected_add_book.txt");
 
             assertEquals(stripXmlInstructionIfNeeded(getStringFromInputStream(expected)),
-                         stripXmlInstructionIfNeeded(post.getResponseBodyAsString()));
+                         stripXmlInstructionIfNeeded(EntityUtils.toString(response.getEntity())));
         } finally {
             // Release current connection to the connection pool once you are done
             post.releaseConnection();

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/security/AbstractSpringSecurityTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/security/AbstractSpringSecurityTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/security/AbstractSpringSecurityTest.java
index abdc4b1..a9478fc 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/security/AbstractSpringSecurityTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/security/AbstractSpringSecurityTest.java
@@ -21,11 +21,14 @@ package org.apache.cxf.systest.jaxrs.security;
 
 import java.io.InputStream;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.cxf.common.util.Base64Utility;
 import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 
 public abstract class AbstractSpringSecurityTest extends AbstractBusClientServerTestBase {
 
@@ -41,16 +44,16 @@ public abstract class AbstractSpringSecurityTest extends AbstractBusClientServer
                          int expectedStatus)
         throws Exception {
 
-        GetMethod get = new GetMethod(endpointAddress);
-        get.setRequestHeader("Accept", "application/xml");
-        get.setRequestHeader("Authorization",
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet(endpointAddress);
+        get.addHeader("Accept", "application/xml");
+        get.addHeader("Authorization",
                              "Basic " + base64Encode(user + ":" + password));
-        HttpClient httpClient = new HttpClient();
         try {
-            int result = httpClient.executeMethod(get);
-            assertEquals(expectedStatus, result);
+            CloseableHttpResponse response = client.execute(get);
+            assertEquals(expectedStatus, response.getStatusLine().getStatusCode());
             if (expectedStatus == 200) {
-                String content = getStringFromInputStream(get.getResponseBodyAsStream());
+                String content = EntityUtils.toString(response.getEntity());
                 String resource = "/org/apache/cxf/systest/jaxrs/resources/expected_get_book123.txt";
                 InputStream expected = getClass().getResourceAsStream(resource);
                 assertEquals("Expected value is wrong",

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxws/pom.xml
----------------------------------------------------------------------
diff --git a/systests/jaxws/pom.xml b/systests/jaxws/pom.xml
index d1d93c6..73e8be9 100644
--- a/systests/jaxws/pom.xml
+++ b/systests/jaxws/pom.xml
@@ -225,11 +225,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
             <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
         </dependency>
@@ -270,6 +265,12 @@
             <groupId>org.littleshoot</groupId>
             <artifactId>littleproxy</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <scope>test</scope>
+        </dependency>
+
     </dependencies>
     <profiles>
         <profile>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxws/src/test/java/org/apache/cxf/systest/provider/CXF4130Test.java
----------------------------------------------------------------------
diff --git a/systests/jaxws/src/test/java/org/apache/cxf/systest/provider/CXF4130Test.java b/systests/jaxws/src/test/java/org/apache/cxf/systest/provider/CXF4130Test.java
index 7fe543b..49a2c0a 100644
--- a/systests/jaxws/src/test/java/org/apache/cxf/systest/provider/CXF4130Test.java
+++ b/systests/jaxws/src/test/java/org/apache/cxf/systest/provider/CXF4130Test.java
@@ -28,13 +28,16 @@ import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
-import org.apache.commons.httpclient.methods.PostMethod;
 import org.apache.cxf.staxutils.StaxUtils;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
 import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
 import org.apache.cxf.testutil.common.TestUtil;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.InputStreamEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -72,12 +75,12 @@ public class CXF4130Test extends AbstractBusClientServerTestBase {
     @Test
     public void testCxf4130() throws Exception {
         InputStream body = getClass().getResourceAsStream("cxf4130data.txt");
-        HttpClient client = new HttpClient();
-        PostMethod post = new PostMethod(ADDRESS);
-        post.setRequestEntity(new InputStreamRequestEntity(body, "text/xml"));
-        client.executeMethod(post);
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost(ADDRESS);
+        post.setEntity(new InputStreamEntity(body, ContentType.TEXT_XML));
+        CloseableHttpResponse response = client.execute(post);
 
-        Document doc = StaxUtils.read(post.getResponseBodyAsStream());
+        Document doc = StaxUtils.read(response.getEntity().getContent());
         Element root = doc.getDocumentElement();
         Node child = root.getFirstChild();
 

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxws/src/test/java/org/apache/cxf/systest/provider/CXF4818Test.java
----------------------------------------------------------------------
diff --git a/systests/jaxws/src/test/java/org/apache/cxf/systest/provider/CXF4818Test.java b/systests/jaxws/src/test/java/org/apache/cxf/systest/provider/CXF4818Test.java
index b5956b4..9ddf62b 100644
--- a/systests/jaxws/src/test/java/org/apache/cxf/systest/provider/CXF4818Test.java
+++ b/systests/jaxws/src/test/java/org/apache/cxf/systest/provider/CXF4818Test.java
@@ -39,13 +39,16 @@ import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
-import org.apache.commons.httpclient.methods.PostMethod;
 import org.apache.cxf.staxutils.StaxUtils;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
 import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
 import org.apache.cxf.testutil.common.TestUtil;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.InputStreamEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -83,12 +86,12 @@ public class CXF4818Test extends AbstractBusClientServerTestBase {
     @Test
     public void testCXF4818() throws Exception {
         InputStream body = getClass().getResourceAsStream("cxf4818data.txt");
-        HttpClient client = new HttpClient();
-        PostMethod post = new PostMethod(ADDRESS);
-        post.setRequestEntity(new InputStreamRequestEntity(body, "text/xml"));
-        client.executeMethod(post);
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost(ADDRESS);
+        post.setEntity(new InputStreamEntity(body, ContentType.TEXT_XML));
+        CloseableHttpResponse response = client.execute(post);
 
-        Document doc = StaxUtils.read(post.getResponseBodyAsStream());
+        Document doc = StaxUtils.read(response.getEntity().getContent());
         //System.out.println(StaxUtils.toString(doc));
         Element root = doc.getDocumentElement();
         Node child = root.getFirstChild();

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/transports-ssl3/pom.xml
----------------------------------------------------------------------
diff --git a/systests/transports-ssl3/pom.xml b/systests/transports-ssl3/pom.xml
index 7e162bc..3d2490d 100644
--- a/systests/transports-ssl3/pom.xml
+++ b/systests/transports-ssl3/pom.xml
@@ -141,10 +141,5 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/transports/pom.xml
----------------------------------------------------------------------
diff --git a/systests/transports/pom.xml b/systests/transports/pom.xml
index 8950784..1af6fde 100644
--- a/systests/transports/pom.xml
+++ b/systests/transports/pom.xml
@@ -253,11 +253,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.littleshoot</groupId>
             <artifactId>littleproxy</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/uncategorized/pom.xml
----------------------------------------------------------------------
diff --git a/systests/uncategorized/pom.xml b/systests/uncategorized/pom.xml
index d6123d6..d3e7b3a 100644
--- a/systests/uncategorized/pom.xml
+++ b/systests/uncategorized/pom.xml
@@ -381,11 +381,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>net.java.dev.msv</groupId>
             <artifactId>msv-core</artifactId>
             <exclusions>
@@ -405,6 +400,11 @@
             <artifactId>jacorb</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
     <profiles>
         <profile>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/uncategorized/src/test/java/org/apache/cxf/systest/simple/SimpleFrontendTest.java
----------------------------------------------------------------------
diff --git a/systests/uncategorized/src/test/java/org/apache/cxf/systest/simple/SimpleFrontendTest.java b/systests/uncategorized/src/test/java/org/apache/cxf/systest/simple/SimpleFrontendTest.java
index e60ec7c..3805acd 100644
--- a/systests/uncategorized/src/test/java/org/apache/cxf/systest/simple/SimpleFrontendTest.java
+++ b/systests/uncategorized/src/test/java/org/apache/cxf/systest/simple/SimpleFrontendTest.java
@@ -19,13 +19,16 @@
 
 package org.apache.cxf.systest.simple;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusFactory;
 import org.apache.cxf.frontend.ServerFactoryBean;
 import org.apache.cxf.systest.simple.impl.WSSimpleImpl;
 import org.apache.cxf.testutil.common.TestUtil;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
@@ -59,10 +62,10 @@ public class SimpleFrontendTest extends Assert {
 
     @Test
     public void testGetWSDL() throws Exception {
-        GetMethod getMethod = new GetMethod("http://localhost:" + PORT1 + "/test11?wsdl");
-        HttpClient httpClient = new HttpClient();
-        httpClient.executeMethod(getMethod);
-        String response = getMethod.getResponseBodyAsString();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet("http://localhost:" + PORT1 + "/test11?wsdl");
+        CloseableHttpResponse httpResponse = client.execute(get);
+        String response = EntityUtils.toString(httpResponse.getEntity());
         assertFalse(response.indexOf("import") >= 0);
         assertFalse(response.indexOf("?wsdl?wsdl") >= 0);
     }


[2/2] cxf git commit: Remove old commons-httpclient code

Posted by co...@apache.org.
Remove old commons-httpclient code


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/8e8f01a3
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/8e8f01a3
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/8e8f01a3

Branch: refs/heads/master
Commit: 8e8f01a3cb5a83c5b97b5a037acb5e0bb777e3aa
Parents: e0ace3d
Author: Colm O hEigeartaigh <co...@apache.org>
Authored: Wed Jun 7 17:10:22 2017 +0100
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Wed Jun 7 18:53:49 2017 +0100

----------------------------------------------------------------------
 .../main/release/samples/jax_rs/basic/pom.xml   |  10 +-
 .../src/main/java/demo/jaxrs/client/Client.java |  43 ++--
 .../samples/jax_rs/content_negotiation/pom.xml  |  10 +-
 .../src/main/java/demo/jaxrs/client/Client.java |  41 ++--
 .../samples/jax_rs/description_swagger/pom.xml  |   5 -
 .../jax_rs/description_swagger2_spring/pom.xml  |   5 -
 .../main/release/samples/jax_rs/search/pom.xml  |  16 +-
 .../java/demo/jaxrs/search/client/Client.java   |  83 +++----
 .../samples/jax_rs/spring_security/pom.xml      |   8 +-
 .../src/main/java/demo/jaxrs/client/Client.java |  64 ++---
 .../samples/jax_rs/tracing_brave/pom.xml        |   5 -
 .../samples/jax_rs/tracing_brave_osgi/pom.xml   |   5 -
 .../samples/jax_rs/tracing_htrace/pom.xml       |   5 -
 .../samples/jaxws_tracing_brave_osgi/pom.xml    |   5 -
 .../release/samples/restful_dispatch/pom.xml    |   6 -
 parent/pom.xml                                  |  11 -
 rt/databinding/aegis/pom.xml                    |   5 -
 systests/jaxrs/pom.xml                          |   5 -
 .../jaxrs/AbstractJAXRSContinuationsTest.java   |  19 +-
 .../cxf/systest/jaxrs/JAXRSAtomBookTest.java    |  63 ++---
 .../jaxrs/JAXRSClientServerBookTest.java        | 243 +++++++++----------
 .../JAXRSClientServerNonSpringBookTest.java     |  28 ++-
 .../jaxrs/JAXRSClientServerSpringBookTest.java  |  34 +--
 .../jaxrs/JAXRSClientServerStreamingTest.java   |  19 +-
 ...AXRSClientServerUserResourceDefaultTest.java |  19 +-
 .../JAXRSClientServerUserResourceTest.java      |  31 +--
 .../JAXRSCxfContinuationsServlet3Test.java      |  17 +-
 .../jaxrs/JAXRSCxfContinuationsTest.java        |  28 ++-
 .../cxf/systest/jaxrs/JAXRSMultipartTest.java   | 103 ++++----
 .../cxf/systest/jaxrs/JAXRSSoapBookTest.java    |  27 ++-
 .../security/AbstractSpringSecurityTest.java    |  21 +-
 systests/jaxws/pom.xml                          |  11 +-
 .../cxf/systest/provider/CXF4130Test.java       |  19 +-
 .../cxf/systest/provider/CXF4818Test.java       |  19 +-
 systests/transports-ssl3/pom.xml                |   5 -
 systests/transports/pom.xml                     |   5 -
 systests/uncategorized/pom.xml                  |  10 +-
 .../cxf/systest/simple/SimpleFrontendTest.java  |  15 +-
 38 files changed, 511 insertions(+), 557 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/jax_rs/basic/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/basic/pom.xml b/distribution/src/main/release/samples/jax_rs/basic/pom.xml
index 5c64f47..da88480 100644
--- a/distribution/src/main/release/samples/jax_rs/basic/pom.xml
+++ b/distribution/src/main/release/samples/jax_rs/basic/pom.xml
@@ -30,7 +30,6 @@
     </parent>
     <properties>
         <cxf.version>${project.version}</cxf.version>
-        <httpclient.version>3.1</httpclient.version>
     </properties>
     <profiles>
         <profile>
@@ -98,13 +97,12 @@
             <version>3.2.0-SNAPSHOT</version>
         </dependency>
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-            <version>${httpclient.version}</version>
-        </dependency>
-        <dependency>
             <groupId>javax.ws.rs</groupId>
             <artifactId>javax.ws.rs-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+        </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/jax_rs/basic/src/main/java/demo/jaxrs/client/Client.java
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/basic/src/main/java/demo/jaxrs/client/Client.java b/distribution/src/main/release/samples/jax_rs/basic/src/main/java/demo/jaxrs/client/Client.java
index 4267b84..3452678 100644
--- a/distribution/src/main/release/samples/jax_rs/basic/src/main/java/demo/jaxrs/client/Client.java
+++ b/distribution/src/main/release/samples/jax_rs/basic/src/main/java/demo/jaxrs/client/Client.java
@@ -23,15 +23,17 @@ import java.io.File;
 import java.io.InputStream;
 import java.net.URL;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.FileRequestEntity;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.PutMethod;
-import org.apache.commons.httpclient.methods.RequestEntity;
-
 import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.io.CachedOutputStream;
 import org.apache.cxf.resource.URIResolver;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.FileEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 
 public final class Client {
 
@@ -67,16 +69,15 @@ public final class Client {
         String inputFile = client.getClass().getResource("/update_customer.xml").getFile();
         URIResolver resolver = new URIResolver(inputFile);
         File input = new File(resolver.getURI());
-        PutMethod put = new PutMethod("http://localhost:9000/customerservice/customers");
-        RequestEntity entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");
-        put.setRequestEntity(entity);
-        HttpClient httpclient = new HttpClient();
 
+        HttpPut put = new HttpPut("http://localhost:9000/customerservice/customers");
+        put.setEntity(new FileEntity(input, ContentType.TEXT_XML));
+        CloseableHttpClient httpClient = HttpClientBuilder.create().build();
         try {
-            int result = httpclient.executeMethod(put);
-            System.out.println("Response status code: " + result);
+            CloseableHttpResponse response = httpClient.execute(put);
+            System.out.println("Response status code: " + response.getStatusLine().getStatusCode());
             System.out.println("Response body: ");
-            System.out.println(put.getResponseBodyAsString());
+            System.out.println(EntityUtils.toString(response.getEntity()));
         } finally {
             // Release current connection to the connection pool once you are
             // done
@@ -89,17 +90,17 @@ public final class Client {
         inputFile = client.getClass().getResource("/add_customer.xml").getFile();
         resolver = new URIResolver(inputFile);
         input = new File(resolver.getURI());
-        PostMethod post = new PostMethod("http://localhost:9000/customerservice/customers");
-        post.addRequestHeader("Accept", "text/xml");
-        entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");
-        post.setRequestEntity(entity);
-        httpclient = new HttpClient();
+
+        HttpPost post = new HttpPost("http://localhost:9000/customerservice/customers");
+        post.addHeader("Accept", "text/xml");
+        post.setEntity(new FileEntity(input, ContentType.TEXT_XML));
+        httpClient = HttpClientBuilder.create().build();
 
         try {
-            int result = httpclient.executeMethod(post);
-            System.out.println("Response status code: " + result);
+            CloseableHttpResponse response = httpClient.execute(post);
+            System.out.println("Response status code: " + response.getStatusLine().getStatusCode());
             System.out.println("Response body: ");
-            System.out.println(post.getResponseBodyAsString());
+            System.out.println(EntityUtils.toString(response.getEntity()));
         } finally {
             // Release current connection to the connection pool once you are
             // done

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/jax_rs/content_negotiation/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/content_negotiation/pom.xml b/distribution/src/main/release/samples/jax_rs/content_negotiation/pom.xml
index 30c91b4..8ce7bdb 100644
--- a/distribution/src/main/release/samples/jax_rs/content_negotiation/pom.xml
+++ b/distribution/src/main/release/samples/jax_rs/content_negotiation/pom.xml
@@ -30,7 +30,6 @@
     </parent>
     <properties>
         <cxf.version>${project.version}</cxf.version>
-        <httpclient.version>3.1</httpclient.version>
     </properties>
     <profiles>
         <profile>
@@ -107,13 +106,12 @@
             <artifactId>jettison</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-            <version>${httpclient.version}</version>
-        </dependency>
-        <dependency>
             <groupId>javax.ws.rs</groupId>
             <artifactId>javax.ws.rs-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+        </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/jax_rs/content_negotiation/src/main/java/demo/jaxrs/client/Client.java
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/content_negotiation/src/main/java/demo/jaxrs/client/Client.java b/distribution/src/main/release/samples/jax_rs/content_negotiation/src/main/java/demo/jaxrs/client/Client.java
index f1c360d..c1a556a 100644
--- a/distribution/src/main/release/samples/jax_rs/content_negotiation/src/main/java/demo/jaxrs/client/Client.java
+++ b/distribution/src/main/release/samples/jax_rs/content_negotiation/src/main/java/demo/jaxrs/client/Client.java
@@ -19,8 +19,11 @@
 
 package demo.jaxrs.client;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 
 public final class Client {
 
@@ -30,15 +33,15 @@ public final class Client {
     public static void main(String args[]) throws Exception {
         // Sent HTTP GET request to query customer info, expect XML
         System.out.println("Sent HTTP GET request to query customer info, expect XML");
-        GetMethod get = new GetMethod("http://localhost:9000/customerservice/customers/123");
-        get.addRequestHeader("Accept", "application/xml");
-        HttpClient httpclient = new HttpClient();
+        HttpGet get = new HttpGet("http://localhost:9000/customerservice/customers/123");
+        get.addHeader("Accept", "application/xml");
+        CloseableHttpClient httpClient = HttpClientBuilder.create().build();
 
         try {
-            int result = httpclient.executeMethod(get);
-            System.out.println("Response status code: " + result);
+            CloseableHttpResponse response = httpClient.execute(get);
+            System.out.println("Response status code: " + response.getStatusLine().getStatusCode());
             System.out.println("Response body: ");
-            System.out.println(get.getResponseBodyAsString());
+            System.out.println(EntityUtils.toString(response.getEntity()));
         } finally {
             get.releaseConnection();
         }
@@ -46,15 +49,15 @@ public final class Client {
         // Sent HTTP GET request to query customer info, expect JSON.
         System.out.println("\n");
         System.out.println("Sent HTTP GET request to query customer info, expect JSON");
-        get = new GetMethod("http://localhost:9000/customerservice/customers/123");
-        get.addRequestHeader("Accept", "application/json");
-        httpclient = new HttpClient();
+        get = new HttpGet("http://localhost:9000/customerservice/customers/123");
+        get.addHeader("Accept", "application/json");
+        httpClient = HttpClientBuilder.create().build();
 
         try {
-            int result = httpclient.executeMethod(get);
-            System.out.println("Response status code: " + result);
+            CloseableHttpResponse response = httpClient.execute(get);
+            System.out.println("Response status code: " + response.getStatusLine().getStatusCode());
             System.out.println("Response body: ");
-            System.out.println(get.getResponseBodyAsString());
+            System.out.println(EntityUtils.toString(response.getEntity()));
         } finally {
             get.releaseConnection();
         }
@@ -64,14 +67,14 @@ public final class Client {
         //The default behavior without setting Accept header explicitly is depending on your client.
         //In the case of  HTTP Client, the Accept header will be absent. The CXF server will treat this
         //as "*/*", XML format is returned
-        get = new GetMethod("http://localhost:9000/customerservice/customers/123");
-        httpclient = new HttpClient();
+        get = new HttpGet("http://localhost:9000/customerservice/customers/123");
+        httpClient = HttpClientBuilder.create().build();
 
         try {
-            int result = httpclient.executeMethod(get);
-            System.out.println("Response status code: " + result);
+            CloseableHttpResponse response = httpClient.execute(get);
+            System.out.println("Response status code: " + response.getStatusLine().getStatusCode());
             System.out.println("Response body: ");
-            System.out.println(get.getResponseBodyAsString());
+            System.out.println(EntityUtils.toString(response.getEntity()));
         } finally {
             get.releaseConnection();
         }

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/jax_rs/description_swagger/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/description_swagger/pom.xml b/distribution/src/main/release/samples/jax_rs/description_swagger/pom.xml
index ddc214e..a4686e6 100644
--- a/distribution/src/main/release/samples/jax_rs/description_swagger/pom.xml
+++ b/distribution/src/main/release/samples/jax_rs/description_swagger/pom.xml
@@ -31,7 +31,6 @@
 
     <properties>
         <cxf.version>${project.version}</cxf.version>
-        <httpclient.version>3.1</httpclient.version>
     </properties>
 
     <profiles>
@@ -148,10 +147,6 @@
             <artifactId>commons-lang3</artifactId>
         </dependency>                        
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-        </dependency>                
-        <dependency>
             <groupId>javax.ws.rs</groupId>
             <artifactId>javax.ws.rs-api</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/jax_rs/description_swagger2_spring/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/description_swagger2_spring/pom.xml b/distribution/src/main/release/samples/jax_rs/description_swagger2_spring/pom.xml
index 648e50d0..9644bae 100644
--- a/distribution/src/main/release/samples/jax_rs/description_swagger2_spring/pom.xml
+++ b/distribution/src/main/release/samples/jax_rs/description_swagger2_spring/pom.xml
@@ -31,7 +31,6 @@
 
     <properties>
         <cxf.version>${project.version}</cxf.version>
-        <httpclient.version>3.1</httpclient.version>
     </properties>
 
     <profiles>
@@ -83,10 +82,6 @@
             <version>3.2.0-SNAPSHOT</version>
         </dependency>
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-        </dependency>                
-        <dependency>
             <groupId>javax.ws.rs</groupId>
             <artifactId>javax.ws.rs-api</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/jax_rs/search/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/search/pom.xml b/distribution/src/main/release/samples/jax_rs/search/pom.xml
index d0285b2..ad2cb20 100644
--- a/distribution/src/main/release/samples/jax_rs/search/pom.xml
+++ b/distribution/src/main/release/samples/jax_rs/search/pom.xml
@@ -31,7 +31,6 @@
     <properties>
         <cxf.version>${project.version}</cxf.version>
         <cxf.lucene.version>4.9.0</cxf.lucene.version>
-        <httpclient.version>3.1</httpclient.version>
     </properties>
     <profiles>
         <profile>
@@ -151,17 +150,22 @@
             <artifactId>commons-lang3</artifactId>
         </dependency>                        
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-        </dependency>                
-        <dependency>
             <groupId>javax.ws.rs</groupId>
             <artifactId>javax.ws.rs-api</artifactId>
         </dependency>
         <dependency>
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-webapp</artifactId>
-        </dependency>        
+        </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+        </dependency>    
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpmime</artifactId>
+            <version>4.5.3</version>
+        </dependency>    
     </dependencies>
     <repositories>
         <repository>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/client/Client.java
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/client/Client.java b/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/client/Client.java
index ba584a5..0363cdf 100644
--- a/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/client/Client.java
+++ b/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/client/Client.java
@@ -21,16 +21,16 @@ package demo.jaxrs.search.client;
 
 import java.io.IOException;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpException;
-import org.apache.commons.httpclient.methods.DeleteMethod;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource;
-import org.apache.commons.httpclient.methods.multipart.FilePart;
-import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
-import org.apache.commons.httpclient.methods.multipart.Part;
 import org.apache.cxf.helpers.IOUtils;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.mime.MultipartEntity;
+import org.apache.http.entity.mime.content.ByteArrayBody;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 
 public final class Client {
     private Client() {
@@ -38,7 +38,7 @@ public final class Client {
 
     public static void main(String args[]) throws Exception {
         final String url = "http://localhost:9000/catalog";
-        final HttpClient httpClient = new HttpClient();
+        CloseableHttpClient httpClient = HttpClientBuilder.create().build();
 
         uploadToCatalog(url, httpClient, "jsr339-jaxrs-2.0-final-spec.pdf");
         uploadToCatalog(url, httpClient, "JavaWebSocketAPI_1.0_Final.pdf");
@@ -58,34 +58,33 @@ public final class Client {
         delete(url, httpClient);
     }
 
-    private static void list(final String url, final HttpClient httpClient)
-        throws IOException, HttpException {
+    private static void list(final String url, final CloseableHttpClient httpClient)
+        throws IOException {
 
         System.out.println("Sent HTTP GET request to query all books in catalog");
 
-        final GetMethod get = new GetMethod(url);
+        final HttpGet get = new HttpGet(url);
         try {
-            int status = httpClient.executeMethod(get);
-            if (status == 200) {
-                System.out.println(get.getResponseBodyAsString());
+            CloseableHttpResponse response = httpClient.execute(get);
+            if (response.getStatusLine().getStatusCode() == 200) {
+                System.out.println(EntityUtils.toString(response.getEntity()));
             }
         } finally {
             get.releaseConnection();
         }
     }
 
-    private static void search(final String url, final HttpClient httpClient, final String expression)
-        throws IOException, HttpException {
+    private static void search(final String url, final CloseableHttpClient httpClient, final String expression)
+        throws IOException {
 
         System.out.println("Sent HTTP GET request to search the books in catalog: " + expression);
 
-        final GetMethod get = new GetMethod(url + "/search");
-        get.setQueryString("$filter=" + expression);
+        final HttpGet get = new HttpGet(url + "/search?$filter=" + expression);
 
         try {
-            int status = httpClient.executeMethod(get);
-            if (status == 200) {
-                System.out.println(get.getResponseBodyAsString());
+            CloseableHttpResponse response = httpClient.execute(get);
+            if (response.getStatusLine().getStatusCode() == 200) {
+                System.out.println(EntityUtils.toString(response.getEntity()));
             }
         } finally {
             get.releaseConnection();
@@ -93,27 +92,23 @@ public final class Client {
     }
 
 
-    private static void uploadToCatalog(final String url, final HttpClient httpClient,
-            final String filename) throws IOException, HttpException {
+    private static void uploadToCatalog(final String url, final CloseableHttpClient httpClient,
+            final String filename) throws IOException {
 
         System.out.println("Sent HTTP POST request to upload the file into catalog: " + filename);
 
-        final PostMethod post = new PostMethod(url);
-        final Part[] parts = {
-            new FilePart(filename,
-                new ByteArrayPartSource(filename,
-                    IOUtils.readBytesFromStream(Client.class.getResourceAsStream("/" + filename))
-                )
-            )
-        };
+        final HttpPost post = new HttpPost(url);
+        MultipartEntity entity = new MultipartEntity();
+        byte[] bytes = IOUtils.readBytesFromStream(Client.class.getResourceAsStream("/" + filename));
+        entity.addPart(filename, new ByteArrayBody(bytes, filename));
 
-        post.setRequestEntity(new MultipartRequestEntity(parts, post.getParams()));
+        post.setEntity(entity);
 
         try {
-            int status = httpClient.executeMethod(post);
-            if (status == 201) {
-                System.out.println(post.getResponseHeader("Location"));
-            } else if (status == 409) {
+            CloseableHttpResponse response = httpClient.execute(post);
+            if (response.getStatusLine().getStatusCode() == 201) {
+                System.out.println(response.getFirstHeader("Location"));
+            } else if (response.getStatusLine().getStatusCode() == 409) {
                 System.out.println("Document already exists: " + filename);
             }
 
@@ -122,16 +117,16 @@ public final class Client {
         }
     }
 
-    private static void delete(final String url, final HttpClient httpClient)
-        throws IOException, HttpException {
+    private static void delete(final String url, final CloseableHttpClient httpClient)
+        throws IOException {
 
         System.out.println("Sent HTTP DELETE request to remove all books from catalog");
 
-        final DeleteMethod delete = new DeleteMethod(url);
+        final HttpDelete delete = new HttpDelete(url);
         try {
-            int status = httpClient.executeMethod(delete);
-            if (status == 200) {
-                System.out.println(delete.getResponseBodyAsString());
+            CloseableHttpResponse response = httpClient.execute(delete);
+            if (response.getStatusLine().getStatusCode() == 200) {
+                System.out.println(EntityUtils.toString(response.getEntity()));
             }
         } finally {
             delete.releaseConnection();

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/jax_rs/spring_security/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/spring_security/pom.xml b/distribution/src/main/release/samples/jax_rs/spring_security/pom.xml
index cd02d55..615848e 100644
--- a/distribution/src/main/release/samples/jax_rs/spring_security/pom.xml
+++ b/distribution/src/main/release/samples/jax_rs/spring_security/pom.xml
@@ -103,10 +103,6 @@
             <version>3.2.0-SNAPSHOT</version>
         </dependency>
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-        </dependency>
-        <dependency>
             <groupId>javax.ws.rs</groupId>
             <artifactId>javax.ws.rs-api</artifactId>
         </dependency>
@@ -154,5 +150,9 @@
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-webapp</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+        </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/jax_rs/spring_security/src/main/java/demo/jaxrs/client/Client.java
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/spring_security/src/main/java/demo/jaxrs/client/Client.java b/distribution/src/main/release/samples/jax_rs/spring_security/src/main/java/demo/jaxrs/client/Client.java
index 98a9769..3461352 100644
--- a/distribution/src/main/release/samples/jax_rs/spring_security/src/main/java/demo/jaxrs/client/Client.java
+++ b/distribution/src/main/release/samples/jax_rs/spring_security/src/main/java/demo/jaxrs/client/Client.java
@@ -21,16 +21,18 @@ package demo.jaxrs.client;
 
 import javax.ws.rs.core.Response;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.methods.DeleteMethod;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.PutMethod;
-import org.apache.commons.httpclient.methods.RequestEntity;
-
 import org.apache.cxf.common.util.Base64Utility;
+import org.apache.http.HttpEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
+import org.apache.http.client.methods.HttpRequestBase;
+import org.apache.http.entity.InputStreamEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 
 public final class Client {
 
@@ -70,8 +72,8 @@ public final class Client {
 
         System.out.println("HTTP GET to query customer info, user : "
             + name + ", password : " + password);
-        GetMethod get =
-            new GetMethod("http://localhost:9002/customerservice/customers/" + id);
+        HttpGet get =
+            new HttpGet("http://localhost:9002/customerservice/customers/" + id);
         setMethodHeaders(get, name, password);
         handleHttpMethod(get);
     }
@@ -80,11 +82,11 @@ public final class Client {
 
         System.out.println("HTTP POST to add customer info, user : "
             + name + ", password : " + password);
-        PostMethod post = new PostMethod("http://localhost:9002/customerservice/customers");
+        HttpPost post = new HttpPost("http://localhost:9002/customerservice/customers");
         setMethodHeaders(post, name, password);
-        RequestEntity entity = new InputStreamRequestEntity(
+        HttpEntity entity = new InputStreamEntity(
             this.getClass().getClassLoader().getResourceAsStream("add_customer.xml"));
-        post.setRequestEntity(entity);
+        post.setEntity(entity);
 
         handleHttpMethod(post);
     }
@@ -93,11 +95,11 @@ public final class Client {
 
         System.out.println("HTTP PUT to update customer info, user : "
             + name + ", password : " + password);
-        PutMethod put = new PutMethod("http://localhost:9002/customerservice/customers/123");
+        HttpPut put = new HttpPut("http://localhost:9002/customerservice/customers/123");
         setMethodHeaders(put, name, password);
-        RequestEntity entity = new InputStreamRequestEntity(
+        HttpEntity entity = new InputStreamEntity(
             this.getClass().getClassLoader().getResourceAsStream("update_customer.xml"));
-        put.setRequestEntity(entity);
+        put.setEntity(entity);
 
         handleHttpMethod(put);
     }
@@ -109,25 +111,26 @@ public final class Client {
         System.out.println("Confirming a customer with id " + id + " exists first");
         getCustomerInfo(name, password, id);
         System.out.println("Deleting now...");
-        DeleteMethod del =
-            new DeleteMethod("http://localhost:9002/customerservice/customers/" + id);
+        HttpDelete del =
+            new HttpDelete("http://localhost:9002/customerservice/customers/" + id);
         setMethodHeaders(del, name, password);
         handleHttpMethod(del);
         System.out.println("Confirming a customer with id " + id + " does not exist anymore");
         getCustomerInfo(name, password, id);
     }
 
-    private static void handleHttpMethod(HttpMethod httpMethod) throws Exception {
-        HttpClient client = new HttpClient();
+    private static void handleHttpMethod(HttpRequestBase httpMethod) throws Exception {
+        CloseableHttpClient httpClient = HttpClientBuilder.create().build();
 
         try {
-            int statusCode = client.executeMethod(httpMethod);
-            System.out.println("Response status : " + statusCode);
+            CloseableHttpResponse response = httpClient.execute(httpMethod);
+            System.out.println("Response status : " + response.getStatusLine().getStatusCode());
 
-            Response.Status status = Response.Status.fromStatusCode(statusCode);
+            Response.Status status =
+                Response.Status.fromStatusCode(response.getStatusLine().getStatusCode());
 
             if (status == Response.Status.OK) {
-                System.out.println(httpMethod.getResponseBodyAsString());
+                System.out.println(EntityUtils.toString(response.getEntity()));
             } else if (status == Response.Status.FORBIDDEN) {
                 System.out.println("Authorization failure");
             } else if (status == Response.Status.UNAUTHORIZED) {
@@ -141,13 +144,12 @@ public final class Client {
         }
     }
 
-    private static void setMethodHeaders(HttpMethod httpMethod, String name, String password) {
-        if (httpMethod instanceof PostMethod || httpMethod instanceof PutMethod) {
-            httpMethod.setRequestHeader("Content-Type", "application/xml");
+    private static void setMethodHeaders(HttpRequestBase httpMethod, String name, String password) {
+        if (httpMethod instanceof HttpPost || httpMethod instanceof HttpPut) {
+            httpMethod.addHeader("Content-Type", "application/xml");
         }
-        httpMethod.setDoAuthentication(false);
-        httpMethod.setRequestHeader("Accept", "application/xml");
-        httpMethod.setRequestHeader("Authorization",
+        httpMethod.addHeader("Accept", "application/xml");
+        httpMethod.addHeader("Authorization",
                              "Basic " + base64Encode(name + ":" + password));
 
     }

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/jax_rs/tracing_brave/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/tracing_brave/pom.xml b/distribution/src/main/release/samples/jax_rs/tracing_brave/pom.xml
index 697060c..0c00e64 100644
--- a/distribution/src/main/release/samples/jax_rs/tracing_brave/pom.xml
+++ b/distribution/src/main/release/samples/jax_rs/tracing_brave/pom.xml
@@ -30,7 +30,6 @@
     </parent>
     <properties>
         <cxf.version>${project.version}</cxf.version>
-        <httpclient.version>3.1</httpclient.version>
     </properties>
     <profiles>
         <profile>
@@ -121,10 +120,6 @@
             <artifactId>javax.json</artifactId>
         </dependency>                    
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-        </dependency>                
-        <dependency>
             <groupId>javax.ws.rs</groupId>
             <artifactId>javax.ws.rs-api</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/jax_rs/tracing_brave_osgi/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/tracing_brave_osgi/pom.xml b/distribution/src/main/release/samples/jax_rs/tracing_brave_osgi/pom.xml
index 9421dff..e9c351c 100644
--- a/distribution/src/main/release/samples/jax_rs/tracing_brave_osgi/pom.xml
+++ b/distribution/src/main/release/samples/jax_rs/tracing_brave_osgi/pom.xml
@@ -31,7 +31,6 @@
     </parent>
     <properties>
         <cxf.version>${project.version}</cxf.version>
-        <httpclient.version>3.1</httpclient.version>
     </properties>
     <dependencies>
         <dependency>
@@ -74,10 +73,6 @@
             <artifactId>johnzon-core</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-        </dependency>                
-        <dependency>
             <groupId>javax.ws.rs</groupId>
             <artifactId>javax.ws.rs-api</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/jax_rs/tracing_htrace/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/tracing_htrace/pom.xml b/distribution/src/main/release/samples/jax_rs/tracing_htrace/pom.xml
index a28c6c2..2764afb 100644
--- a/distribution/src/main/release/samples/jax_rs/tracing_htrace/pom.xml
+++ b/distribution/src/main/release/samples/jax_rs/tracing_htrace/pom.xml
@@ -30,7 +30,6 @@
     </parent>
     <properties>
         <cxf.version>${project.version}</cxf.version>
-        <httpclient.version>3.1</httpclient.version>
     </properties>
     <profiles>
         <profile>
@@ -121,10 +120,6 @@
             <artifactId>javax.json</artifactId>
         </dependency>                    
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-        </dependency>                
-        <dependency>
             <groupId>javax.ws.rs</groupId>
             <artifactId>javax.ws.rs-api</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/jaxws_tracing_brave_osgi/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jaxws_tracing_brave_osgi/pom.xml b/distribution/src/main/release/samples/jaxws_tracing_brave_osgi/pom.xml
index 407e2f0..aa8b70c 100644
--- a/distribution/src/main/release/samples/jaxws_tracing_brave_osgi/pom.xml
+++ b/distribution/src/main/release/samples/jaxws_tracing_brave_osgi/pom.xml
@@ -31,7 +31,6 @@
     </parent>
     <properties>
         <cxf.version>${project.version}</cxf.version>
-        <httpclient.version>3.1</httpclient.version>
     </properties>
     <dependencies>
         <dependency>
@@ -56,10 +55,6 @@
             <version>3.2.0-SNAPSHOT</version>
         </dependency>
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-        </dependency>                
-        <dependency>
             <groupId>javax.ws.rs</groupId>
             <artifactId>javax.ws.rs-api</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/distribution/src/main/release/samples/restful_dispatch/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/restful_dispatch/pom.xml b/distribution/src/main/release/samples/restful_dispatch/pom.xml
index c016444..a7758e7 100644
--- a/distribution/src/main/release/samples/restful_dispatch/pom.xml
+++ b/distribution/src/main/release/samples/restful_dispatch/pom.xml
@@ -29,7 +29,6 @@
     </parent>
     <properties>
         <cxf.version>${project.version}</cxf.version>
-        <httpclient.version>3.1</httpclient.version>
     </properties>
     <profiles>
         <profile>
@@ -102,11 +101,6 @@
             <version>3.2.0-SNAPSHOT</version>
         </dependency>
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-            <version>${httpclient.version}</version>
-        </dependency>
-        <dependency>
             <groupId>javax.ws.rs</groupId>
             <artifactId>javax.ws.rs-api</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index bbf6241..af367b5 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -1435,17 +1435,6 @@
                 <version>${cxf.spring.version}</version>
             </dependency>
             <dependency>
-                <groupId>commons-httpclient</groupId>
-                <artifactId>commons-httpclient</artifactId>
-                <version>3.1</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>commons-logging</groupId>
-                        <artifactId>commons-logging</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
                 <groupId>org.springframework.osgi</groupId>
                 <artifactId>spring-osgi-io</artifactId>
                 <version>${cxf.spring.osgi.version}</version>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/rt/databinding/aegis/pom.xml
----------------------------------------------------------------------
diff --git a/rt/databinding/aegis/pom.xml b/rt/databinding/aegis/pom.xml
index ba0ad6b..4f71016 100644
--- a/rt/databinding/aegis/pom.xml
+++ b/rt/databinding/aegis/pom.xml
@@ -112,11 +112,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>commons-codec</groupId>
             <artifactId>commons-codec</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxrs/pom.xml
----------------------------------------------------------------------
diff --git a/systests/jaxrs/pom.xml b/systests/jaxrs/pom.xml
index da7687a..859bfea 100644
--- a/systests/jaxrs/pom.xml
+++ b/systests/jaxrs/pom.xml
@@ -459,11 +459,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>com.fasterxml.jackson.jaxrs</groupId>
             <artifactId>jackson-jaxrs-json-provider</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/AbstractJAXRSContinuationsTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/AbstractJAXRSContinuationsTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/AbstractJAXRSContinuationsTest.java
index a77e88f..ab8c2a4 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/AbstractJAXRSContinuationsTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/AbstractJAXRSContinuationsTest.java
@@ -29,12 +29,13 @@ import java.util.concurrent.TimeUnit;
 import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.Response;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.jaxrs.client.WebClient;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
-
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 import org.junit.Ignore;
 import org.junit.Test;
 
@@ -195,13 +196,13 @@ public abstract class AbstractJAXRSContinuationsTest extends AbstractBusClientSe
     }
 
     private void checkBook(String address, String id, String expected) throws Exception {
-        GetMethod get = new GetMethod(address);
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet(address);
         try {
-            int result = httpclient.executeMethod(get);
-            assertEquals(200, result);
+            CloseableHttpResponse response = client.execute(get);
+            assertEquals(200, response.getStatusLine().getStatusCode());
             assertEquals("Book description for id " + id + " is wrong",
-                         expected, IOUtils.toString(get.getResponseBodyAsStream()));
+                         expected, EntityUtils.toString(response.getEntity()));
         } finally {
             // Release current connection to the connection pool once you are done
             get.releaseConnection();

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSAtomBookTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSAtomBookTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSAtomBookTest.java
index c486f4b..dc4c007 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSAtomBookTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSAtomBookTest.java
@@ -30,14 +30,18 @@ import org.apache.abdera.model.Content;
 import org.apache.abdera.model.Document;
 import org.apache.abdera.model.Entry;
 import org.apache.abdera.model.Feed;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.StringRequestEntity;
 import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.io.CachedOutputStream;
 import org.apache.cxf.jaxrs.model.AbstractResourceInfo;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 import org.codehaus.jettison.json.JSONObject;
 
 import org.junit.BeforeClass;
@@ -113,17 +117,16 @@ public class JAXRSAtomBookTest extends AbstractBusClientServerTestBase {
         StringWriter w = new StringWriter();
         e.writeTo(w);
 
-        PostMethod post = new PostMethod(endpointAddress);
-        post.setRequestEntity(
-             new StringRequestEntity(w.toString(), "application/atom+xml", null));
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost(endpointAddress);
+        post.setEntity(new StringEntity(w.toString(), ContentType.APPLICATION_ATOM_XML));
 
         String location = null;
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(201, result);
-            location = post.getResponseHeader("Location").getValue();
-            InputStream ins = post.getResponseBodyAsStream();
+            CloseableHttpResponse response = client.execute(post);
+            assertEquals(201, response.getStatusLine().getStatusCode());
+            location = response.getFirstHeader("Location").getValue();
+            InputStream ins = response.getEntity().getContent();
             Document<Entry> entryDoc = abdera.getParser().parse(copyIn(ins));
             assertEquals(entryDoc.getRoot().toString(), e.toString());
         } finally {
@@ -170,13 +173,13 @@ public class JAXRSAtomBookTest extends AbstractBusClientServerTestBase {
     private void getAndCompareJson(String address,
                                    String resourcePath,
                                    String type) throws Exception {
-        GetMethod get = new GetMethod(address);
-        get.setRequestHeader("Content-Type", "*/*");
-        get.setRequestHeader("Accept", type);
-        HttpClient httpClient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet(address);
+        get.setHeader("Content-Type", "*/*");
+        get.setHeader("Accept", type);
         try {
-            httpClient.executeMethod(get);
-            String jsonContent = getStringFromInputStream(get.getResponseBodyAsStream());
+            CloseableHttpResponse response = client.execute(get);
+            String jsonContent = EntityUtils.toString(response.getEntity());
             String expected = getStringFromInputStream(
                   getClass().getResourceAsStream(resourcePath));
             expected = expected.replaceAll("9080", PORT);
@@ -216,15 +219,15 @@ public class JAXRSAtomBookTest extends AbstractBusClientServerTestBase {
     }
 
     private Feed getFeed(String endpointAddress, String acceptType) throws Exception {
-        GetMethod get = new GetMethod(endpointAddress);
-        get.setRequestHeader("Content-Type", "*/*");
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet(endpointAddress);
+        get.setHeader("Content-Type", "*/*");
         if (acceptType != null) {
-            get.setRequestHeader("Accept", acceptType);
+            get.setHeader("Accept", acceptType);
         }
-        HttpClient httpClient = new HttpClient();
         try {
-            httpClient.executeMethod(get);
-            Document<Feed> doc = abdera.getParser().parse(copyIn(get.getResponseBodyAsStream()));
+            CloseableHttpResponse response = client.execute(get);
+            Document<Feed> doc = abdera.getParser().parse(copyIn(response.getEntity().getContent()));
             return doc.getRoot();
         } finally {
             get.releaseConnection();
@@ -232,15 +235,15 @@ public class JAXRSAtomBookTest extends AbstractBusClientServerTestBase {
     }
 
     private Entry getEntry(String endpointAddress, String acceptType) throws Exception {
-        GetMethod get = new GetMethod(endpointAddress);
-        get.setRequestHeader("Content-Type", "*/*");
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet(endpointAddress);
+        get.setHeader("Content-Type", "*/*");
         if (acceptType != null) {
-            get.setRequestHeader("Accept", acceptType);
+            get.setHeader("Accept", acceptType);
         }
-        HttpClient httpClient = new HttpClient();
         try {
-            httpClient.executeMethod(get);
-            Document<Entry> doc = abdera.getParser().parse(copyIn(get.getResponseBodyAsStream()));
+            CloseableHttpResponse response = client.execute(get);
+            Document<Entry> doc = abdera.getParser().parse(copyIn(response.getEntity().getContent()));
             return doc.getRoot();
         } finally {
             get.releaseConnection();

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
index dd2c0ea..b86d923 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
@@ -52,14 +52,6 @@ import javax.ws.rs.core.Response;
 import javax.xml.bind.JAXBElement;
 import javax.xml.namespace.QName;
 
-import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.DeleteMethod;
-import org.apache.commons.httpclient.methods.FileRequestEntity;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.PutMethod;
-import org.apache.commons.httpclient.methods.RequestEntity;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.cxf.ext.logging.LoggingFeature;
 import org.apache.cxf.ext.logging.LoggingInInterceptor;
@@ -76,7 +68,18 @@ import org.apache.cxf.systest.jaxrs.BookStore.BookInfoInterface;
 import org.apache.cxf.systest.jaxrs.BookStore.BookNotReturnedException;
 import org.apache.cxf.systest.jaxrs.CustomFaultInInterceptor.CustomRuntimeException;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
-
+import org.apache.http.Header;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.FileEntity;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -950,17 +953,17 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
 
     @Test
     public void testPropogateException() throws Exception {
-        GetMethod get = new GetMethod("http://localhost:" + PORT + "/bookstore/propagate-exception");
-        get.setRequestHeader("Accept", "application/xml");
-        get.addRequestHeader("Cookie", "a=b;c=d");
-        get.addRequestHeader("Cookie", "e=f");
-        get.setRequestHeader("Accept-Language", "da;q=0.8,en");
-        get.setRequestHeader("Book", "1,2,3");
-        HttpClient httpClient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet("http://localhost:" + PORT + "/bookstore/propagate-exception");
+        get.addHeader("Accept", "application/xml");
+        get.addHeader("Cookie", "a=b;c=d");
+        get.addHeader("Cookie", "e=f");
+        get.addHeader("Accept-Language", "da;q=0.8,en");
+        get.addHeader("Book", "1,2,3");
         try {
-            int result = httpClient.executeMethod(get);
-            assertEquals(500, result);
-            String content = getStringFromInputStream(get.getResponseBodyAsStream());
+            CloseableHttpResponse response = client.execute(get);
+            assertEquals(500, response.getStatusLine().getStatusCode());
+            String content = EntityUtils.toString(response.getEntity());
             if (!StringUtils.isEmpty(content)) {
                 assertTrue(content, content.contains("Error") && content.contains("500"));
             }
@@ -1082,7 +1085,7 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
     @Test
     public void testAddBookProxyResponse() {
         Book b = new Book("CXF rocks", 123L);
-        
+
         System.out.println(Arrays.deepToString(Arrays.asList(b, b).toArray()));
         BookStore store = JAXRSClientFactory.create("http://localhost:" + PORT, BookStore.class);
         Response r = store.addBook(b);
@@ -1559,22 +1562,21 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
         assertTrue(s.equals(msg1) || s.equals(msg2));
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void testNoMessageReaderFound() throws Exception {
 
         String endpointAddress =
             "http://localhost:" + PORT + "/bookstore/binarybooks";
 
-        PostMethod post = new PostMethod(endpointAddress);
-        post.setRequestHeader("Content-Type", "application/octet-stream");
-        post.setRequestHeader("Accept", "text/xml");
-        post.setRequestBody("Bar");
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost(endpointAddress);
+        post.addHeader("Content-Type", "application/octet-stream");
+        post.addHeader("Accept", "text/xml");
+        post.setEntity(new StringEntity("Bar"));
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(415, result);
+            CloseableHttpResponse response = client.execute(post);
+            assertEquals(415, response.getStatusLine().getStatusCode());
         } finally {
             // Release current connection to the connection pool once you are done
             post.releaseConnection();
@@ -1586,14 +1588,14 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
         String endpointAddress =
             "http://localhost:" + PORT + "/bookstore/unsupportedcontenttype";
 
-        PostMethod post = new PostMethod(endpointAddress);
-        post.setRequestHeader("Content-Type", "application/bar");
-        post.setRequestHeader("Accept", "text/xml");
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost(endpointAddress);
+        post.addHeader("Content-Type", "application/bar");
+        post.addHeader("Accept", "text/xml");
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(415, result);
+            CloseableHttpResponse response = client.execute(post);
+            assertEquals(415, response.getStatusLine().getStatusCode());
         } finally {
             // Release current connection to the connection pool once you are done
             post.releaseConnection();
@@ -1643,19 +1645,19 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
     }
 
     private void checkBook(String address, boolean expected) throws Exception {
-        GetMethod get = new GetMethod(address);
-        get.setRequestHeader("Accept", "text/plain");
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet(address);
+        get.addHeader("Accept", "text/plain");
 
         try {
-            int result = httpclient.executeMethod(get);
-            assertEquals(200, result);
+            CloseableHttpResponse response = client.execute(get);
+            assertEquals(200, response.getStatusLine().getStatusCode());
             if (expected) {
                 assertEquals("Book must be available",
-                             "true", get.getResponseBodyAsString());
+                             "true", EntityUtils.toString(response.getEntity()));
             } else {
                 assertEquals("Book must not be available",
-                             "false", get.getResponseBodyAsString());
+                             "false", EntityUtils.toString(response.getEntity()));
             }
         } finally {
             // Release current connection to the connection pool once you are done
@@ -2274,13 +2276,13 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
 
     @Test
     public void testAddBookNoBody() throws Exception {
-        PostMethod post = new PostMethod("http://localhost:" + PORT + "/bookstore/books");
-        post.setRequestHeader("Content-Type", "application/xml");
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost("http://localhost:" + PORT + "/bookstore/books");
+        post.addHeader("Content-Type", "application/xml");
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(400, result);
+            CloseableHttpResponse response = client.execute(post);
+            assertEquals(400, response.getStatusLine().getStatusCode());
         } finally {
             // Release current connection to the connection pool once you are done
             post.releaseConnection();
@@ -2313,20 +2315,19 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
 
     private void doAddBook(String address) throws Exception {
         File input = new File(getClass().getResource("resources/add_book.txt").toURI());
-        PostMethod post = new PostMethod(address);
-        post.setRequestHeader("Content-Type", "application/xml");
-        RequestEntity entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");
-        post.setRequestEntity(entity);
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost(address);
+        post.addHeader("Content-Type", "application/xml");
+        post.setEntity(new FileEntity(input, ContentType.TEXT_XML));
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(200, result);
+            CloseableHttpResponse response = client.execute(post);
+            assertEquals(200, response.getStatusLine().getStatusCode());
 
             InputStream expected = getClass().getResourceAsStream("resources/expected_add_book.txt");
 
             assertEquals(stripXmlInstructionIfNeeded(getStringFromInputStream(expected)),
-                         stripXmlInstructionIfNeeded(post.getResponseBodyAsString()));
+                         stripXmlInstructionIfNeeded(EntityUtils.toString(response.getEntity())));
         } finally {
             // Release current connection to the connection pool once you are done
             post.releaseConnection();
@@ -2351,17 +2352,16 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
         String endpointAddress = "http://localhost:" + PORT + "/bookstore/books";
 
         File input = new File(getClass().getResource("resources/update_book.txt").toURI());
-        PutMethod put = new PutMethod(endpointAddress);
-        RequestEntity entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");
-        put.setRequestEntity(entity);
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPut put = new HttpPut(endpointAddress);
+        put.setEntity(new FileEntity(input, ContentType.TEXT_XML));
 
         try {
-            int result = httpclient.executeMethod(put);
-            assertEquals(200, result);
+            CloseableHttpResponse response = client.execute(put);
+            assertEquals(200, response.getStatusLine().getStatusCode());
             InputStream expected = getClass().getResourceAsStream("resources/expected_update_book.txt");
             assertEquals(stripXmlInstructionIfNeeded(getStringFromInputStream(expected)),
-                         stripXmlInstructionIfNeeded(getStringFromInputStream(put.getResponseBodyAsStream())));
+                         stripXmlInstructionIfNeeded(EntityUtils.toString(response.getEntity())));
         } finally {
             // Release current connection to the connection pool once you are
             // done
@@ -2374,14 +2374,13 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
         String endpointAddress = "http://localhost:" + PORT + "/bookstore/bookswithdom";
 
         File input = new File(getClass().getResource("resources/update_book.txt").toURI());
-        PutMethod put = new PutMethod(endpointAddress);
-        RequestEntity entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");
-        put.setRequestEntity(entity);
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPut put = new HttpPut(endpointAddress);
+        put.setEntity(new FileEntity(input, ContentType.TEXT_XML));
         try {
-            int result = httpclient.executeMethod(put);
-            assertEquals(200, result);
-            String resp = put.getResponseBodyAsString();
+            CloseableHttpResponse response = client.execute(put);
+            assertEquals(200, response.getStatusLine().getStatusCode());
+            String resp = EntityUtils.toString(response.getEntity());
             InputStream expected = getClass().getResourceAsStream("resources/update_book.txt");
             String s = getStringFromInputStream(expected);
             //System.out.println(resp);
@@ -2399,17 +2398,16 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
         String endpointAddress = "http://localhost:" + PORT + "/bookstore/bookswithjson";
 
         File input = new File(getClass().getResource("resources/update_book_json.txt").toURI());
-        PutMethod put = new PutMethod(endpointAddress);
-        RequestEntity entity = new FileRequestEntity(input, "application/json; charset=ISO-8859-1");
-        put.setRequestEntity(entity);
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPut put = new HttpPut(endpointAddress);
+        put.setEntity(new FileEntity(input, ContentType.APPLICATION_JSON));
 
         try {
-            int result = httpclient.executeMethod(put);
-            assertEquals(200, result);
+            CloseableHttpResponse response = client.execute(put);
+            assertEquals(200, response.getStatusLine().getStatusCode());
             InputStream expected = getClass().getResourceAsStream("resources/expected_update_book.txt");
             assertEquals(stripXmlInstructionIfNeeded(getStringFromInputStream(expected)),
-                         stripXmlInstructionIfNeeded(getStringFromInputStream(put.getResponseBodyAsStream())));
+                         stripXmlInstructionIfNeeded(EntityUtils.toString(response.getEntity())));
         } finally {
             // Release current connection to the connection pool once you are
             // done
@@ -2423,17 +2421,16 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
             "http://localhost:" + PORT + "/bookstore/books";
 
         File input = new File(getClass().getResource("resources/update_book_not_exist.txt").toURI());
-        PutMethod post = new PutMethod(endpointAddress);
-        RequestEntity entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");
-        post.setRequestEntity(entity);
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPut put = new HttpPut(endpointAddress);
+        put.setEntity(new FileEntity(input, ContentType.TEXT_XML));
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(304, result);
+            CloseableHttpResponse response = client.execute(put);
+            assertEquals(304, response.getStatusLine().getStatusCode());
         } finally {
             // Release current connection to the connection pool once you are done
-            post.releaseConnection();
+            put.releaseConnection();
         }
     }
 
@@ -2457,22 +2454,21 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
 
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void testGetPlainLong() throws Exception {
         String endpointAddress =
             "http://localhost:" + PORT + "/bookstore/booksplain";
 
-        PostMethod post = new PostMethod(endpointAddress);
-        post.addRequestHeader("Content-Type", "text/plain");
-        post.addRequestHeader("Accept", "text/plain");
-        post.setRequestBody("12345");
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost(endpointAddress);
+        post.addHeader("Content-Type", "text/plain");
+        post.addHeader("Accept", "text/plain");
+        post.setEntity(new StringEntity("12345"));
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(200, result);
-            assertEquals(post.getResponseBodyAsString(), "12345");
+            CloseableHttpResponse response = client.execute(post);
+            assertEquals(200, response.getStatusLine().getStatusCode());
+            assertEquals(EntityUtils.toString(response.getEntity()), "12345");
         } finally {
             // Release current connection to the connection pool once you are done
             post.releaseConnection();
@@ -2484,15 +2480,15 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
         String endpointAddress =
             "http://localhost:" + PORT + "/bookstore/books/123";
 
-        DeleteMethod post = new DeleteMethod(endpointAddress);
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpDelete delete = new HttpDelete(endpointAddress);
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(200, result);
+            CloseableHttpResponse response = client.execute(delete);
+            assertEquals(200, response.getStatusLine().getStatusCode());
         } finally {
             // Release current connection to the connection pool once you are done
-            post.releaseConnection();
+            delete.releaseConnection();
         }
     }
 
@@ -2501,15 +2497,15 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
         String endpointAddress =
             "http://localhost:" + PORT + "/bookstore/books/id?value=123";
 
-        DeleteMethod post = new DeleteMethod(endpointAddress);
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpDelete delete = new HttpDelete(endpointAddress);
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(200, result);
+            CloseableHttpResponse response = client.execute(delete);
+            assertEquals(200, response.getStatusLine().getStatusCode());
         } finally {
             // Release current connection to the connection pool once you are done
-            post.releaseConnection();
+            delete.releaseConnection();
         }
     }
 
@@ -2519,20 +2515,20 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
         String endpointAddress =
             "http://localhost:" + PORT + "/bookstore/cds";
 
-        GetMethod get = new GetMethod(endpointAddress);
-        get.addRequestHeader("Accept", "application/json");
-
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet(endpointAddress);
+        get.addHeader("Accept", "application/json");
 
         try {
-            int result = httpclient.executeMethod(get);
-            assertEquals(200, result);
+            CloseableHttpResponse response = client.execute(get);
+            assertEquals(200, response.getStatusLine().getStatusCode());
 
             InputStream expected123 = getClass().getResourceAsStream("resources/expected_get_cdsjson123.txt");
             InputStream expected124 = getClass().getResourceAsStream("resources/expected_get_cdsjson124.txt");
 
-            assertTrue(get.getResponseBodyAsString().indexOf(getStringFromInputStream(expected123)) >= 0);
-            assertTrue(get.getResponseBodyAsString().indexOf(getStringFromInputStream(expected124)) >= 0);
+            String content = EntityUtils.toString(response.getEntity());
+            assertTrue(content.indexOf(getStringFromInputStream(expected123)) >= 0);
+            assertTrue(content.indexOf(getStringFromInputStream(expected124)) >= 0);
 
         } finally {
             // Release current connection to the connection pool once you are done
@@ -2716,28 +2712,29 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
                                String acceptType,
                                String expectedContentType,
                                int expectedStatus) throws Exception {
-        GetMethod get = new GetMethod(address);
-        get.setRequestHeader("Accept", acceptType);
-        get.addRequestHeader("Cookie", "a=b;c=d");
-        get.addRequestHeader("Cookie", "e=f");
-        get.setRequestHeader("Accept-Language", "da;q=0.8,en");
-        get.setRequestHeader("Book", "1,2,3");
-        HttpClient httpClient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet(address);
+        get.addHeader("Accept", acceptType);
+        get.addHeader("Cookie", "a=b;c=d");
+        get.addHeader("Cookie", "e=f");
+        get.addHeader("Accept-Language", "da;q=0.8,en");
+        get.addHeader("Book", "1,2,3");
+
         try {
-            int result = httpClient.executeMethod(get);
-            assertEquals(expectedStatus, result);
-            String content = getStringFromInputStream(get.getResponseBodyAsStream());
+            CloseableHttpResponse response = client.execute(get);
+            assertEquals(expectedStatus, response.getStatusLine().getStatusCode());
+            String content = EntityUtils.toString(response.getEntity());
             assertEquals("Expected value is wrong",
                          stripXmlInstructionIfNeeded(expectedValue), stripXmlInstructionIfNeeded(content));
             if (expectedStatus == 200) {
-                assertEquals("123", get.getResponseHeader("BookId").getValue());
-                assertNotNull(get.getResponseHeader("Date"));
+                assertEquals("123", response.getFirstHeader("BookId").getValue());
+                assertNotNull(response.getFirstHeader("Date"));
             }
             if (expectedStatus == 405) {
-                assertNotNull(get.getResponseHeader("Allow"));
+                assertNotNull(response.getFirstHeader("Allow"));
             }
             if (expectedContentType != null) {
-                Header ct = get.getResponseHeader("Content-Type");
+                Header ct = response.getFirstHeader("Content-Type");
                 assertEquals("Wrong type of response", expectedContentType, ct.getValue());
             }
         } finally {

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerNonSpringBookTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerNonSpringBookTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerNonSpringBookTest.java
index 272bfc1..825f68c 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerNonSpringBookTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerNonSpringBookTest.java
@@ -27,16 +27,18 @@ import javax.ws.rs.InternalServerErrorException;
 import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.Response;
 
-import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.jaxrs.client.JAXRSClientFactory;
 import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
 import org.apache.cxf.jaxrs.client.WebClient;
 import org.apache.cxf.jaxrs.model.AbstractResourceInfo;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
-
+import org.apache.http.Header;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -242,19 +244,19 @@ public class JAXRSClientServerNonSpringBookTest extends AbstractBusClientServerT
                                String acceptType,
                                String expectedContentType,
                                int expectedStatus) throws Exception {
-        GetMethod get = new GetMethod(address);
-        get.setRequestHeader("Accept", acceptType);
-        get.setRequestHeader("Accept-Language", "da;q=0.8,en");
-        get.setRequestHeader("Book", "1,2,3");
-        HttpClient httpClient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet(address);
+        get.setHeader("Accept", acceptType);
+        get.setHeader("Accept-Language", "da;q=0.8,en");
+        get.setHeader("Book", "1,2,3");
         try {
-            int result = httpClient.executeMethod(get);
-            assertEquals(expectedStatus, result);
-            String content = getStringFromInputStream(get.getResponseBodyAsStream());
+            CloseableHttpResponse response = client.execute(get);
+            assertEquals(expectedStatus, response.getStatusLine().getStatusCode());
+            String content = EntityUtils.toString(response.getEntity());
             assertEquals("Expected value is wrong",
                          stripXmlInstructionIfNeeded(expectedValue), stripXmlInstructionIfNeeded(content));
             if (expectedContentType != null) {
-                Header ct = get.getResponseHeader("Content-Type");
+                Header ct = response.getFirstHeader("Content-Type");
                 assertEquals("Wrong type of response", expectedContentType, ct.getValue());
             }
         } finally {

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java
index f6be049..dc7ec42 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java
@@ -49,10 +49,6 @@ import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 import org.w3c.dom.ProcessingInstruction;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.FileRequestEntity;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.RequestEntity;
 import org.apache.cxf.helpers.DOMUtils;
 import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.jaxrs.client.JAXRSClientFactory;
@@ -64,6 +60,13 @@ import org.apache.cxf.jaxrs.provider.JAXBElementProvider;
 import org.apache.cxf.jaxrs.provider.aegis.AegisElementProvider;
 import org.apache.cxf.staxutils.StaxUtils;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.FileEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
 import org.apache.ws.commons.schema.constants.Constants;
 
 import org.junit.BeforeClass;
@@ -90,7 +93,7 @@ public class JAXRSClientServerSpringBookTest extends AbstractBusClientServerTest
         Book book = wc.replaceHeader("Accept", "application/xml").query("id", 1L).get(Book.class);
         assertEquals("CXF", book.getName());
     }
-    
+
     @Test
     public void testGetDocuments() throws Exception {
         String baseAddress = "http://localhost:" + PORT + "/the/thedocs/resource/doc";
@@ -172,13 +175,13 @@ public class JAXRSClientServerSpringBookTest extends AbstractBusClientServerTest
         String address = "http://localhost:" + PORT + "/bus/thebooksform/bookform4";
         doTestEchoBookForm(address);
     }
-    
+
     @Test
     public void testEchoBookForm5() throws Exception {
         String address = "http://localhost:" + PORT + "/bus/thebooksform/bookform5";
         doTestEchoBookForm(address);
     }
-    
+
     private void doTestEchoBookForm(String address) throws Exception {
         WebClient wc = WebClient.create(address);
         WebClient.getConfig(wc).getHttpConduit().getClient().setReceiveTimeout(10000000L);
@@ -997,22 +1000,21 @@ public class JAXRSClientServerSpringBookTest extends AbstractBusClientServerTest
                         String inResource, String expectedResource) throws Exception {
 
         File input = new File(getClass().getResource(inResource).toURI());
-        PostMethod post = new PostMethod(endpointAddress);
-        post.setRequestHeader("Content-Type", contentType);
-        RequestEntity entity = new FileRequestEntity(input, "text/xml");
-        post.setRequestEntity(entity);
-        HttpClient httpclient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpPost post = new HttpPost(endpointAddress);
+        post.setHeader("Content-Type", contentType);
+        post.setEntity(new FileEntity(input, ContentType.TEXT_XML));
 
         try {
-            int result = httpclient.executeMethod(post);
-            assertEquals(expectedStatus, result);
+            CloseableHttpResponse response = client.execute(post);
+            assertEquals(expectedStatus, response.getStatusLine().getStatusCode());
 
             if (expectedStatus != 400) {
                 InputStream expected = getClass().getResourceAsStream(expectedResource);
                 assertEquals(stripXmlInstructionIfNeeded(getStringFromInputStream(expected)),
-                             stripXmlInstructionIfNeeded(post.getResponseBodyAsString()));
+                             stripXmlInstructionIfNeeded(EntityUtils.toString(response.getEntity())));
             } else {
-                assertTrue(post.getResponseBodyAsString()
+                assertTrue(EntityUtils.toString(response.getEntity())
                                .contains("Cannot find the declaration of element"));
             }
         } finally {

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerStreamingTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerStreamingTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerStreamingTest.java
index 8311575..a746141 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerStreamingTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerStreamingTest.java
@@ -37,8 +37,6 @@ import javax.xml.bind.JAXBContext;
 import javax.xml.bind.Unmarshaller;
 import javax.xml.stream.XMLStreamWriter;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
 import org.apache.cxf.jaxrs.client.WebClient;
 import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider;
@@ -47,7 +45,10 @@ import org.apache.cxf.jaxrs.provider.JAXBElementProvider;
 import org.apache.cxf.staxutils.CachingXmlEventWriter;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
 import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
-
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -128,13 +129,13 @@ public class JAXRSClientServerStreamingTest extends AbstractBusClientServerTestB
     private void getAndCompare(String address,
                                String acceptType,
                                int expectedStatus) throws Exception {
-        GetMethod get = new GetMethod(address);
-        get.setRequestHeader("Accept", acceptType);
-        HttpClient httpClient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet(address);
+        get.setHeader("Accept", acceptType);
         try {
-            int result = httpClient.executeMethod(get);
-            assertEquals(expectedStatus, result);
-            Book book = readBook(get.getResponseBodyAsStream());
+            CloseableHttpResponse response = client.execute(get);
+            assertEquals(expectedStatus, response.getStatusLine().getStatusCode());
+            Book book = readBook(response.getEntity().getContent());
             assertEquals(123, book.getId());
             assertEquals("CXF in Action", book.getName());
         } finally {

http://git-wip-us.apache.org/repos/asf/cxf/blob/8e8f01a3/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerUserResourceDefaultTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerUserResourceDefaultTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerUserResourceDefaultTest.java
index a59c3cf..157e23b 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerUserResourceDefaultTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerUserResourceDefaultTest.java
@@ -43,8 +43,6 @@ import javax.xml.bind.Unmarshaller;
 import javax.xml.transform.Source;
 import javax.xml.transform.sax.SAXSource;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.jaxrs.JAXRSInvoker;
 import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
@@ -62,7 +60,10 @@ import org.apache.cxf.message.Exchange;
 import org.apache.cxf.message.MessageContentsList;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
 import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
-
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -175,13 +176,13 @@ public class JAXRSClientServerUserResourceDefaultTest extends AbstractBusClientS
                                String acceptType,
                                int expectedStatus,
                                long expectedId) throws Exception {
-        GetMethod get = new GetMethod(address);
-        get.setRequestHeader("Accept", acceptType);
-        HttpClient httpClient = new HttpClient();
+        CloseableHttpClient client = HttpClientBuilder.create().build();
+        HttpGet get = new HttpGet(address);
+        get.setHeader("Accept", acceptType);
         try {
-            int result = httpClient.executeMethod(get);
-            assertEquals(expectedStatus, result);
-            Book book = readBook(get.getResponseBodyAsStream());
+            CloseableHttpResponse response = client.execute(get);
+            assertEquals(expectedStatus, response.getStatusLine().getStatusCode());
+            Book book = readBook(response.getEntity().getContent());
             assertEquals(expectedId, book.getId());
             assertEquals("CXF in Action", book.getName());
         } finally {