2016-05-17 6 views
3

Ich benutze Retrofit 2.0.2 und OKHttp 3.2.0, um hier Maps Rest API aufzurufen.Verwenden von OkHttpClient auf Wildfly verursacht eine Ausnahme

von einem Unit-Test-Rennen, funktioniert perfekt, aber wenn ich versuche es auf Wildfy zu laufen, erhalte ich eine Ausnahme:

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) 

Kann ich dieses Problem lösen, indem Sie die Konfiguration von Wildfly ändern oder ist das ein Bug von OkHttp?

+2

Die bevorstehende OkHttp 3.3 verfügt über eine Funktion, die Sie den Trust-Manager eher manuell angeben werden lassen, als sich auf Reflexion es aus dem SSLSocketFactory zu fischen. Du wirst das wollen! –

+0

Leider habe ich keine Zeit darauf zu warten, ich brauche eine schnelle Lösung, vielleicht muss ich Retrofit gegen etwas anderes austauschen. – szilagyif

+0

Ich habe das gleiche mit Unirest (http://unirest.io/) versucht und funktioniert perfekt. – szilagyif

Antwort

2

ich ein ähnliches Problem konfrontiert, sieht dies einen Fehler mit der neuesten Version von okhttp ist - 3.2.0 Sie es vorübergehend lösen können Ihre Abhängigkeit zu 3.0.1 Später wandern in eine stabilere Version von Herabstufung!

Maven Abhängigkeit (Sollte lösen):

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

Leider kann ich das nicht verwenden, weil ich versucht habe, Retrofit zu verwenden, das OkHttp als Abhängigkeit hat, also konnte ich es nicht downgraden, weil es eine indirekte Abhängigkeit war. – szilagyif

Verwandte Themen