Добрый день,
Мое веб-приложение, работающее в версии Spring 3.0.x.
Мне нужно ответить на звонок restTemplate
с версией протокола TLSv1.2
, из этого поста я нашел предложение Как настроить TLS1.2 для Rest-клиента с помощью Rest Template . Вот часть моего кода:
SSLContext context = SSLContext.getInstance("TLSv1.2");
context.init(null, null, null);
org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient();
SSLSocketFactory ssf = new SSLSocketFactory(context);
HttpConnectionManager ccm = httpClient.getHttpConnectionManager();
SchemeRegistry sr = ( (ClientConnectionManager) ccm ).getSchemeRegistry();
sr.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
sr.register(new Scheme("https", 443, ssf));
Proxy proxy = new Proxy( Type.HTTP, new InetSocketAddress(
proxyServerIP, proxyServerPort ) );
httpClient.getParams( ).setParameter( ConnRoutePNames.DEFAULT_PROXY, proxy );
CommonsClientHttpRequestFactory c = new CommonsClientHttpRequestFactory(httpClient);
restTemplate = new RestTemplate( c );
Я считаю, что HttpClient
, который я использую, довольно старый, то есть org.apache.commons.httpclient.HttpClient
. Потому что я обнаружил, что CommonsClientHttpRequestFactory
нужно использовать этот старый HttpClient
.
И я нажимаю java.lang.reflect.InvocationTargetException
для этого HttpClient
.
Просьба сообщить, какой HttpClient
и какой ClientHttpRequestFactory
я должен использовать для этого.