I/0 error on POST request using RestTemplate in SpringBoot

Viewed 54

I am sending data to an external API from my application using rest template.

    HttpHeaders headers = new HttpHeaders();
    headers.add("Content-Type", "application/json");
    headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
    headers.setBasicAuth(userid,pass);

    HttpEntity<String> request = new HttpEntity<String>(headers);
    String res= restTemplate.exchange(url,HttpMethod.POST,request,String.class ).getBody();
    return res;

Since there are no necessary fields in the request body, I am simply creating an empty post. I am getting this error:

[Request processing failed; nested exception is org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://myurl.com/posts": myurl.com; nested exception is java.net.UnknownHostException: myurl.com] with root cause
java.net.UnknownHostException: myurl.com
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:196) ~[na:1.8.0_341]
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) ~[na:1.8.0_341]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394) ~[na:1.8.0_341]
at java.net.Socket.connect(Socket.java:606) ~[na:1.8.0_341]
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:303) ~[na:1.8.0_341]
at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173) ~[na:1.8.0_341]
at sun.net.NetworkClient.doConnect(NetworkClient.java:180) ~[na:1.8.0_341]
at sun.net.www.http.HttpClient.openServer(HttpClient.java:499) ~[na:1.8.0_341]
at sun.net.www.http.HttpClient.openServer(HttpClient.java:594) ~[na:1.8.0_341]
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:263) ~[na:1.8.0_341]
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:366) ~[na:1.8.0_341]
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:207) ~[na:1.8.0_341]
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1167) ~[na:1.8.0_341]
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1061) ~[na:1.8.0_341]
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:193) ~[na:1.8.0_341]
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:167) ~[na:1.8.0_341]
at org.springframework.http.client.SimpleBufferingClientHttpRequest.executeInternal(SimpleBufferingClientHttpRequest.java:76) ~[spring-web-5.3.22.jar:5.3.22]
at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48) ~[spring-web-5.3.22.jar:5.3.22]
at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) ~[spring-web-5.3.22.jar:5.3.22]
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:776) ~[spring-web-5.3.22.jar:5.3.22]
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:711) ~[spring-web-5.3.22.jar:5.3.22]
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:602) ~[spring-web-5.3.22.jar:5.3.22]

Also, I have https enabled as I am fetching the same data from another secured api. Please help. I am a beginner in Spring.

0 Answers
Related