This is an automated email from the ASF dual-hosted git repository. robertlazarski pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-core.git
The following commit(s) were added to refs/heads/master by this push: new 91be03f AXIS2-5959 replace org.apache.commons.httpclient with org.apache.http in the json samples and unit tests 91be03f is described below commit 91be03fe100c63ea7e611be08aa8510c3b29abfa Author: robert lazarski <robertlazar...@apache.org> AuthorDate: Wed Apr 7 09:15:48 2021 -1000 AXIS2-5959 replace org.apache.commons.httpclient with org.apache.http in the json samples and unit tests --- .../axis2/json/gson/JSONXMLStreamAPITest.java | 6 +- .../test/org/apache/axis2/json/gson/UtilTest.java | 36 ++++++++---- .../json/gson/rpc/JSONRPCIntegrationTest.java | 7 +-- .../json/src/sample/json/client/JsonClient.java | 64 +++++++++++++--------- 4 files changed, 66 insertions(+), 47 deletions(-) diff --git a/modules/json/test/org/apache/axis2/json/gson/JSONXMLStreamAPITest.java b/modules/json/test/org/apache/axis2/json/gson/JSONXMLStreamAPITest.java index bb11e97..348ab23 100644 --- a/modules/json/test/org/apache/axis2/json/gson/JSONXMLStreamAPITest.java +++ b/modules/json/test/org/apache/axis2/json/gson/JSONXMLStreamAPITest.java @@ -32,8 +32,6 @@ public class JSONXMLStreamAPITest { public void xmlStreamAPITest()throws Exception{ String getLibURL = server.getEndpoint("LibraryService") + "getLibrary"; String echoLibURL = server.getEndpoint("LibraryService") + "echoLibrary"; - String contentType = "application/json"; - String charSet = "UTF-8"; String echoLibrary = "{\"echoLibrary\":{\"args0\":{\"admin\":{\"address\":{\"city\":\"My City\",\"country\":" + "\"My Country\",\"street\":\"My Street\",\"zipCode\":\"00000\"},\"age\":24,\"name\":\"micheal\"," + @@ -67,11 +65,11 @@ public class JSONXMLStreamAPITest { "{\"author\":\"Jhon_4\",\"numOfPages\":175,\"publisher\":\"Foxier\",\"reviewers\":[\"rev1\",\"rev2\"," + "\"rev3\"]}],\"staff\":50}}}"; - String actualResponse = UtilTest.post(echoLibrary, echoLibURL, contentType, charSet); + String actualResponse = UtilTest.post(echoLibrary, echoLibURL); Assert.assertNotNull(actualResponse); Assert.assertEquals(echoLibraryResponse , actualResponse); - String actualRespose_2 = UtilTest.post(getLibrary, getLibURL, contentType, charSet); + String actualRespose_2 = UtilTest.post(getLibrary, getLibURL); Assert.assertNotNull(actualRespose_2); Assert.assertEquals(getLibraryResponse, actualRespose_2); diff --git a/modules/json/test/org/apache/axis2/json/gson/UtilTest.java b/modules/json/test/org/apache/axis2/json/gson/UtilTest.java index ac1df45..c70937b 100644 --- a/modules/json/test/org/apache/axis2/json/gson/UtilTest.java +++ b/modules/json/test/org/apache/axis2/json/gson/UtilTest.java @@ -19,26 +19,38 @@ package org.apache.axis2.json.gson; -import org.apache.commons.httpclient.HttpClient; -import org.apache.commons.httpclient.methods.PostMethod; -import org.apache.commons.httpclient.methods.RequestEntity; -import org.apache.commons.httpclient.methods.StringRequestEntity; +import org.apache.http.client.ClientProtocolException; +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.StringEntity; +import org.apache.http.HttpEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; import java.io.IOException; public class UtilTest { - public static String post(String jsonString, String strURL, String contentType, String charSet) + public static String post(String jsonString, String strURL) throws IOException { - PostMethod post = new PostMethod(strURL); - RequestEntity entity = new StringRequestEntity(jsonString, contentType, charSet); - post.setRequestEntity(entity); - HttpClient httpclient = new HttpClient(); + HttpEntity stringEntity = new StringEntity(jsonString,ContentType.APPLICATION_JSON); + HttpPost httpPost = new HttpPost(strURL); + httpPost.setEntity(stringEntity); + CloseableHttpClient httpclient = HttpClients.createDefault(); + try { - int result = httpclient.executeMethod(post); - return post.getResponseBodyAsString(); + CloseableHttpResponse response = httpclient.execute(httpPost); + int status = response.getStatusLine().getStatusCode(); + if (status >= 200 && status < 300) { + HttpEntity entity = response.getEntity(); + return entity != null ? EntityUtils.toString(entity,"UTF-8") : null; + } else { + throw new ClientProtocolException("Unexpected response status: " + status); + } }finally { - post.releaseConnection(); + httpclient.close(); } } } diff --git a/modules/json/test/org/apache/axis2/json/gson/rpc/JSONRPCIntegrationTest.java b/modules/json/test/org/apache/axis2/json/gson/rpc/JSONRPCIntegrationTest.java index f5566c3..1b364ea 100644 --- a/modules/json/test/org/apache/axis2/json/gson/rpc/JSONRPCIntegrationTest.java +++ b/modules/json/test/org/apache/axis2/json/gson/rpc/JSONRPCIntegrationTest.java @@ -29,15 +29,12 @@ public class JSONRPCIntegrationTest { @ClassRule public static Axis2Server server = new Axis2Server("target/repo/gson"); - String contentType = "application/json"; - String charSet = "UTF-8"; - @Test public void testJsonRpcMessageReceiver() throws Exception { String jsonRequest = "{\"echoPerson\":[{\"arg0\":{\"name\":\"Simon\",\"age\":\"35\",\"gender\":\"male\"}}]}"; String echoPersonUrl = server.getEndpoint("JSONPOJOService") + "echoPerson"; String expectedResponse = "{\"response\":{\"name\":\"Simon\",\"age\":\"35\",\"gender\":\"male\"}}"; - String response = UtilTest.post(jsonRequest, echoPersonUrl, contentType, charSet); + String response = UtilTest.post(jsonRequest, echoPersonUrl); Assert.assertNotNull(response); Assert.assertEquals(expectedResponse , response); } @@ -46,7 +43,7 @@ public class JSONRPCIntegrationTest { public void testJsonInOnlyRPCMessageReceiver() throws Exception { String jsonRequest = "{\"ping\":[{\"arg0\":{\"name\":\"Simon\",\"age\":\"35\",\"gender\":\"male\"}}]}"; String echoPersonUrl = server.getEndpoint("JSONPOJOService") + "ping"; - String response = UtilTest.post(jsonRequest, echoPersonUrl, contentType, charSet); + String response = UtilTest.post(jsonRequest, echoPersonUrl); Assert.assertEquals("", response); } } diff --git a/modules/samples/json/src/sample/json/client/JsonClient.java b/modules/samples/json/src/sample/json/client/JsonClient.java index ebd3681..c5be2a8 100644 --- a/modules/samples/json/src/sample/json/client/JsonClient.java +++ b/modules/samples/json/src/sample/json/client/JsonClient.java @@ -19,45 +19,57 @@ package sample.json.client; -import org.apache.commons.httpclient.HttpClient; -import org.apache.commons.httpclient.HttpException; -import org.apache.commons.httpclient.methods.PostMethod; -import org.apache.commons.httpclient.methods.RequestEntity; -import org.apache.commons.httpclient.methods.StringRequestEntity; +import org.apache.http.client.ClientProtocolException; +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.StringEntity; +import org.apache.http.HttpEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; import java.io.IOException; -import java.io.UnsupportedEncodingException; public class JsonClient{ private String url = "http://localhost:8080/axis2/services/JsonService/echoUser"; - private String contentType = "application/json"; - private String charSet = "UTF-8"; public static void main(String[] args)throws IOException { - String echoUser = "{\"echoUser\":[{\"arg0\":{\"name\":\"My_Name\",\"surname\":\"MY_Surname\",\"middleName\":" + "\"My_MiddleName\",\"age\":123,\"address\":{\"country\":\"My_Country\",\"city\":\"My_City\",\"street\":" + "\"My_Street\",\"building\":\"My_Building\",\"flat\":\"My_Flat\",\"zipCode\":\"My_ZipCode\"}}}]}"; + + String echoUser = "{\"echoUser\":[{\"arg0\":{\"name\":\"My_Name\",\"surname\":\"MY_Surname\",\"middleName\":" + + "\"My_MiddleName\",\"age\":123,\"address\":{\"country\":\"My_Country\",\"city\":\"My_City\",\"street\":" + + "\"My_Street\",\"building\":\"My_Building\",\"flat\":\"My_Flat\",\"zipCode\":\"My_ZipCode\"}}}]}"; JsonClient jsonClient = new JsonClient(); - jsonClient.post(echoUser); + String echo = jsonClient.post(echoUser); + System.out.println (echo); + } - public boolean post(String message) throws UnsupportedEncodingException { - PostMethod post = new PostMethod(url); - RequestEntity entity = new StringRequestEntity(message , contentType, charSet); - post.setRequestEntity(entity); - HttpClient httpclient = new HttpClient(); + public String post(String message) throws IOException { + + HttpEntity stringEntity = new StringEntity(message,ContentType.APPLICATION_JSON); + HttpPost httpPost = new HttpPost(url); + httpPost.setEntity(stringEntity); + CloseableHttpClient httpclient = HttpClients.createDefault(); + try { - int result = httpclient.executeMethod(post); - System.out.println("Response status code: " + result); - System.out.println("Response body: "); - System.out.println(post.getResponseBodyAsString()); - } catch (HttpException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } finally { - post.releaseConnection(); + CloseableHttpResponse response = httpclient.execute(httpPost); + HttpEntity entity = null; + int status = response.getStatusLine().getStatusCode(); + if (status >= 200 && status < 300) { + entity = response.getEntity(); + } else { + throw new ClientProtocolException("Unexpected HTTP response status: " + status); + } + if (entity == null || EntityUtils.toString(entity,"UTF-8") == null) { + throw new ClientProtocolException("Error connecting to url: "+url+" , unexpected response: " + EntityUtils.toString(entity,"UTF-8")); + } + return EntityUtils.toString(entity,"UTF-8"); + }finally { + httpclient.close(); } - return false; } + }