小编Mar*_*ius的帖子

RestTemplate SocketException:使用Java 7而不是Java 8进行连接重置

使用Spring RestTemplate执行HTTP POST时,出现java.net.socketException:连接重置

但是,当我在Java 8上执行相同的代码时,相同的代码可以正常工作。我没有发现与此相关的任何类似问题。

有人可以指出我可能做错的任何事情吗?我什至尝试使用-Dhttps.protocols = TLSv1.1,TLSv1.2之类的命令行参数

到目前为止没有任何工作。任何援助将不胜感激

这是我的代码:

String xmlResponse = null;
if (restTemplate == null) {
    CloseableHttpClient httpClient = 
    HttpClients.custom().setSSLHostnameVerifier(new NoopHostnameVerifier()).build();
    HttpComponentsClientHttpRequestFactory requestFactory = new 
    HttpComponentsClientHttpRequestFactory();
    requestFactory.setHttpClient(httpClient);
    restTemplate = new RestTemplate(requestFactory);
}
HttpHeaders rqHeaders = new HttpHeaders();
rqHeaders.setContentType(MediaType.TEXT_XML);
HttpEntity<String> createAppRequest = new HttpEntity<>(xmlRequest, rqHeaders);
ResponseEntity<String> responseEntity = restTemplate.exchange(datasafeURL, HttpMethod.POST, createAppRequest, String.class);
Run Code Online (Sandbox Code Playgroud)

结果:

2017-06-29 14:23:58.278  INFO 1125 --- [nio-9902-exec-3] o.apache.http.impl.execchain.RetryExec   : I/O exception (java.net.SocketException) caught when processing request to {s}->https://pcu.users.com:443: Connection reset
2017-06-29 14:23:58.278  INFO 1125 --- [nio-9902-exec-3] …
Run Code Online (Sandbox Code Playgroud)

java ssl java-7 resttemplate java-8

2
推荐指数
1
解决办法
6016
查看次数

标签 统计

java ×1

java-7 ×1

java-8 ×1

resttemplate ×1

ssl ×1