2016-05-17 20 views
3

私はRetrofit 2.0.2とOkHttp 3.2.0を使用してHere Rest Rest APIを呼び出しています。ユニットテストからの実行WildHeaderでOkHttpClientを使用して例外を発生させる

、完璧に動作しますが、私は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

残念ながら、私は依存関係としてOkHttpを持っているRetrofitを使用しようとしていたので、これを使うことはできません。間接的な依存関係だったので、それを取り除くことはできませんでした。 – szilagyif

関連する問題