2016-05-17 2 views
3

Я использую Retrofit 2.0.2 и OkHttp 3.2.0 для вызова здесь API останова карт.Использование OkHttpClient на Wildfly, вызывающем исключение

Запуск от модульного тестирования, работает отлично, но когда я пытаюсь запустить его на Wildfy, я получаю исключение:

Caused by: java.lang.IllegalStateException: Unable to extract the trust manager on [email protected], sslSocketFactory is class sun.security.ssl.SSLSocketFactoryImpl 
at okhttp3.OkHttpClient.<init>(OkHttpClient.java:187) 
at okhttp3.OkHttpClient.<init>(OkHttpClient.java:151) 

Могу ли я решить эту проблему путем изменения конфигурации Wildfly или это ошибка из OkHttp?

+2

Предстоящий OkHttp 3,3 имеет функцию, которая будет препятствовать вам указать доверительным управляющим, а вручную, чем полагаться на отражение ловить его из SSLSocketFactory. Тебе это понадобится! –

+0

К сожалению, у меня нет времени ждать его, мне нужно быстрое решение, возможно, мне нужно заменить Retrofit на что-то еще. – szilagyif

+0

Я пробовал то же самое с Unirest (http://unirest.io/) и отлично работает. – szilagyif

ответ

2

Я столкнулся с аналогичной проблемой, выглядит это ошибка с последней версией okhttp - 3.2.0 Вы можете временно разрешить его понижая вашу зависимость 3.0.1 Позже мигрировать к более стабильной версии!

Maven зависимостей (должен решить):

<dependency> 
     <groupId>com.squareup.okhttp3</groupId> 
     <artifactId>okhttp</artifactId> 
     <version>3.0.1</version> 
</dependency> 
+0

К сожалению, я не могу использовать это, потому что я пытался использовать Retrofit, у которого был OkHttp как зависимость, поэтому я не смог его выполнить, потому что это была косвенная зависимость. – szilagyif