5

Axis クライアントから WCF サービスを作成しました (クライアントは WSDL を入力として使用して Eclipse によって生成されました)。

HTTP を使用すると、クライアントは正常に動作します。

HTTPS を使用すると、次の例外が発生します。

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX パスの構築に失敗しました: sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な証明書パスが見つかりません

エラーは理解できますが、証明書が置かれている場所を指定したくありません。

この手順を回避するように Axis に伝えたい (チェックせずに証明書を受け入れる)。

私は HttpsURLConnection でそれを行う方法を知っています (何もしないカスタムバリデータを作成します) が、軸でそれを行う方法がわかりません... (カスタムバリデータを使用するように軸に指示するにはどうすればよいですか?このステップをまったく無視するように指示します)。

誰かが私を助けることができますか?

ありがとう、

マタン

4

1 に答える 1

25

私は同じ問題を抱えていて、次を使用して修正しました:

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

これが機能しない場合は、こちらをご覧ください。

于 2012-06-06T11:59:26.537 に答える