2012-06-06 18 views
5

Ho creato un client asse per il servizio WCF (il client è stato generato da Eclipse, utilizzando il WSDL come input).Ignora autenticazione certificazione su client Axis per servizio WCF

Il client funziona correttamente quando si utilizza HTTP.

Quando si utilizza HTTPS sto ottenendo la seguente eccezione:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: edificio percorso PKIX non riuscita: sun.security.provider.certpath.SunCertPathBuilderException: impossibile trovare il percorso di certificazione valido per il target richiesto

Ho capito l'errore, ma non voglio dargli un posto dove si trovano i certificati.

Desidero comunicare ad Axis di evitare questo passaggio (accettare qualsiasi certificato senza verificarlo).

So come farlo con HttpsURLConnection (creare un validatore personalizzato che non fa nulla), ma non so come farlo con l'asse ... (Come posso dire ad assi di usare il mio validatore personalizzato, o meglio, come posso dire di ignorare questo passaggio).

Qualcuno può aiutarmi?

Grazie,

Mattan

+0

Ti rendi conto che stai introducendo una vulnerabilità di sicurezza in questo modo? Non sei sicuro di cosa intendi con "* Comprendo l'errore, ma non voglio dargli un posto dove si trovano i certificati. *". – Bruno

risposta

19

ho avuto lo stesso problema e risolto utilizzando:

AxisProperties.setProperty("axis.socketSecureFactory","org.apache.axis.components.net.SunFakeTrustSocketFactory"); 

Nel caso in cui questo non funziona, date un'occhiata here.

+0

Grazie amico per aver postato questo. :) –

+0

Infine un pezzo di codice che funziona con i client generati usando l'asse 1.4 –

Problemi correlati