2016-05-17 72 views
3

我使用Retrofit 2.0.2和OkHttp 3.2.0調用Here Maps Rest API。在Wildfly上使用OkHttpClient導致異常

從單元測試運行,完美的作品,但是當我嘗試在Wildfy運行它,我得到一個例外:通過修改Wildfly的配置

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) 

我可以解決這個或者這是一個錯誤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

不幸的是,我不能使用它,因爲我試圖使用OkHttp作爲依賴項的Retrofit,所以我無法降級它,因爲它是間接依賴項。 – szilagyif