HttpURLConnection 1: [code lang=”java”] // Create URL instance URL url = new URL ("http://83.223.154.66:8081/Foo/ws/transaction"); // Open connection HttpURLConnection conn = (HttpURLConnection)url.openConnection(); // request method conn.setRequestMethod("POST"); // set the request content-type header parameter as json //conn.setRequestProperty("Content-Type", "application/json; utf-8"); conn.setRequestProperty("Content-Type", "application/json"); // set response type as json //conn.setRequestProperty("Accept", "application/json"); conn.setRequestProperty("*", "*"); // set connect and read timeout conn.setConnectTimeout(5000); conn.setReadTimeout(5000); // set send connect in this connection conn.setDoOutput(true); // handle HTTP status if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) { // 200 throw new RuntimeException("Failed : HTTP Error code : " + conn.getResponseCode()); } // create request body //String jsonInputString = new ObjectMapper().writeValueAsString(salesDTO); //String jsonInputString = serializeToJSON(salesDTO); String jsonInputString = "{"name":"oguzhan"}"; try(OutputStream os = conn.getOutputStream()) { byte[] input = jsonInputString.getBytes("utf-8"); os.write(input, 0, input.length); os.flush(); } // read response try with resources will be conn.disconnect(); StringBuilder response = new StringBuilder(); try(BufferedReader br = new BufferedReader( new InputStreamReader(conn.getInputStream(), "utf-8"))) { String responseLine = null; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } System.out.println(response.toString()); } // disconnect conn.disconnect(); [/code] * * HttpURLConnection 2: [code lang=”java”] public static HttpURLConnection createHttpUrlConnection(String uri, String reqMethod) throws Exception { URL url = new URL(uri); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod(reqMethod); conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestProperty("Accept", "*/*"); conn.setConnectTimeout(restConnectTimeout); conn.setReadTimeout(restReadTimeout); if ("POST".equals(reqMethod.toUpperCase())) { conn.setDoOutput(true); } return conn; } /** * This method sending data to the URI. * * @param uri REST uri * @param serializedObject to be sent serialized DTO * @return response of the REST request */ public static String callRestUriWithHttpUrlConn(String uri, String serializedObject) throws Exception { StringBuilder msg = new StringBuilder(); //msg.append(methodName).append(" is starting."); //logger.info(msg.toString()); StringBuilder response = new StringBuilder(); try { HttpURLConnection conn = createHttpUrlConnection(uri, "POST"); try (OutputStream os = conn.getOutputStream()) { //byte[] input = serializedReportSalesDTO.getBytes("utf-8"); os.write(serializedObject.getBytes("utf-8"), 0, serializedObject.getBytes("utf-8").length); os.flush(); } /*int status = conn.getResponseCode(); Reader streamReader = null; if (status > 299) { streamReader = new InputStreamReader(conn.getErrorStream()); } else { streamReader = new InputStreamReader(conn.getInputStream()); }*/ if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) { //throw new RuntimeException("Failed : HTTP Error code : " // + conn.getResponseCode()); return conn.getResponseCode() + "" + conn.getResponseMessage(); } try (BufferedReader br = new BufferedReader( new InputStreamReader(conn.getInputStream(), "utf-8"))) { String responseLine; while (Objects.nonNull(responseLine = br.readLine())) { response.append(responseLine.trim()); } //System.out.println(response.toString()); } conn.disconnect(); //msg.delete(0, msg.toString().length()); //msg.append(methodName).append(" finished."); //logger.info(msg.toString()); } catch (Exception e) { throw e; } return response.toString(); } [/code] * * Jersey Client old version: [code lang=”xml”] <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> <version>1.8</version> </dependency> [/code] POST: [code lang=”java”] public static String callRestUriWithJerseyClient(String uri, String serializedObject) { Client client = Client.create(); WebResource webResource = clientesource(uri); ClientResponse response = webResource.type("application/json") .post(ClientResponse.class, serializedObject); //if (response.getStatus() != 200) { // throw new RuntimeException("Failed : HTTP error code : " // + response.getStatus()); //} return response.getEntity(String.class); } [/code] GET: [code lang=”java”] public static String callRestUriWithJerseyClient(String uri, String serializedObject) { Client client = Client.create(); WebResource webResource = client.resource(uri); ClientResponse response = webResource.accept("application/json") .get(ClientResponse.class); //if (response.getStatus() != 200) { // throw new RuntimeException("Failed : HTTP error code : " // + response.getStatus()); //} return response.getEntity(String.class); } [/code] * * HttpClient: [code language=”java”] HttpClient httpClient = HttpClientBuilder.create().build(); try { HttpPost request = new HttpPost("uri"); StringEntity params = new StringEntity("names={"name":"name01","name":"name02"}"); request.addHeader("content-type", "application/x-www-form-urlencoded"); request.setEntity(params); HttpResponse response = httpClient.execute(request); } catch (Exception ex) { } [/code] HttpClient Timeout: [code lang=”java”] int timeout = 30; RequestConfig config = RequestConfig.custom() .setConnectTimeout(timeout * 1000) .setConnectionRequestTimeout(timeout * 1000) .setSocketTimeout(timeout * 1000).build(); HttpGet get = new HttpGet(ticketRequestUrl+"/"+corporateCode); //try (CloseableHttpClient httpClient = HttpClients.createDefault(); // CloseableHttpResponse response = httpClient.execute(get)){ try (CloseableHttpClient client = HttpClientBuilder.create().setDefaultRequestConfig(config).build(); CloseableHttpResponse response = client.execute(get); ) { String ticket = EntityUtils.toString(response.getEntity()); if (Objects.isNull(this.ticket)) { this.ticket = new HashMap<>(); } this.ticket.put(corporateCode, ticket); }catch (Exception ex){ logger.error("Could not read ticket from ticketRequestUrl={}, message={}, reason={}", ticketRequestUrl, ex.getMessage(), ex.getClass().getName()); } [/code] You can refer to this link for more information: youtube.com /watch?v=g4q7r3RzfQw]]>