Какая версия httpclient совместима с Amazon SDK v 1.11.5?

Im, используя SDK Amazon Java, версия 1.11.5 (я включил aws-java-sdk-1.11.5.jar в свой каталог WEB-INF/lib). Какую версию библиотеки Apache httpclient мне нужно включить, совместимую с этой версией AWS SDK? Я пробовал httpclient-4.3.4.jar, но я получаю следующую ошибку

15:34:25,366 ERROR [io.undertow.request] (default task-34) UT005023: Exception handling request to /pluginwiris_engine/app/service: java.lang.NoSuchMethodError:    org.apache.http.conn.ssl.SSLConnectionSocketFactory.<init>(Ljavax/net/ssl/SSLContext;Ljavax/net/ssl/HostnameVerifier;)V
    at com.amazonaws.http.conn.ssl.SdkTLSSocketFactory.<init>(SdkTLSSocketFactory.java:56)
    at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheConnectionManagerFactory.java:87)
    at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.create(ApacheConnectionManagerFactory.java:65)
    at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.create(ApacheConnectionManagerFactory.java:58)
    at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:46)
    at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:37)
    at com.amazonaws.http.AmazonHttpClient.<init>(AmazonHttpClient.java:213)
    at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:145)
    at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:393)
    at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:373)
    at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:355)
    at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:327)
    at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:309)

Спасибо за дополнительную помощь, - Dave

Ответ 1

Глядя на источник для Java AWS SDK, под тегом 1.11.5, вы можете видеть в файле POM, они указали следующее:

<httpcomponents.httpclient.version>4.5.2</httpcomponents.httpclient.version>

Итак, я бы сказал, что HTTP Client версия 4.5.2 совместима с AWS SDK версии 1.11.5. Если вы используете инструмент управления зависимостями, такой как Maven, вы всегда можете просто позволить ему втянуть в версию HTTP-клиента спецификацию AWS SDK.

рабочая комбинация библиотек

Ответ 2

Посмотрите на зависимости компиляции maven repo для aws-java-sdk-core

Вы можете видеть это в зависимости от org.apache.httpcomponents "httpclient - 4.5.2. Далее проверьте, есть ли у вас все зависимости httpclient-4.5.2. Возможно, вам не хватает правильной версии httpcore