현재 프로젝트에서 일하고 있습니다. 제 모듈은 HttpClient를 사용하여 외부 API 중 하나를 호출해야합니다.Java : HttpPost to API - ConnectTimeoutException - Apache HttpClient 4
POSTMAN을 사용하여 API에 수동으로 액세스 했으므로 성공적으로 연결하고 결과를 얻을 수 있지만 코드를 실행할 때 org.apache.http.conn.ConnectTimeoutException이 발생했습니다.
외부 API : 발생
http://10.9.11.222:8500/api/getDocs
PostToApi class:
HttpPost httpPost = new HttpPost("http://10.9.11.222:8500/api/getDocs");
StringEntity stringEntity = new StringEntity(jsonToBeSent);
httpPost.addHeader("Content-type", "application/json");
httpPost.setEntity(stringEntity);
response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
String responseString = EntityUtils.toString(entity, "UTF-8");
serverResponse[0]=String.valueOf(response.getStatusLine().getStatusCode());
serverResponse[1]=responseString;
예외 :
org.apache.http.conn.ConnectTimeoutException: Connect to 10.9.11.222:8500 [/ 10.9.11.222] failed: connect timed out
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:143)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:117)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
at element.bst.elementexploration.rest.util.PostToServer.post(PostToServer.java:58)
감사합니다. API를 확인합니다 :) – iamj