Какой ClientHttpRequestFactory мне следует использовать для настройки версии протокола в Spring 3.0.x - PullRequest
0 голосов
/ 16 апреля 2019

Добрый день,

Мое веб-приложение, работающее в версии 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 я должен использовать для этого.

...