原因:缺少SSL证书导致的。
解决:跳过SSL证书,在restTemplate的config配置修改如下:
@Configuration
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate(){
RestTemplate restTemplate = new RestTemplateBuilder()
.requestFactory(this::disableSSLValidation)
.build();
return restTemplate;
}
private ClientHttpRequestFactory disableSSLValidation() {
TrustManager[] trustAllCertificates = new TrustManager[]{new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
}
}};
try {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCertificates, new SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
} catch (KeyManagementException | NoSuchAlgorithmException e) {
e.printStackTrace();
}
return new SimpleClientHttpRequestFactory();
}
}