0

私の Wicket アプリケーションでは、soap を使用して wsdl-endpoint にデータを送信したいと考えています。これを実現するために、Eclipse で (Axis2 を使用して) 動的 Web プロジェクトを作成しました。エンドポイントへの接続中にエラーが発生します。エラーは次のとおりです。

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

エンドポイントは、プリエンプティブ接続でユーザー名とパスワードを期待します。

これは私のコードです:

Deliver deliver = new Deliver();

XmlDataList dataList = new XmlDataList();
dataList.addXmlData(XML);   
deliver.setXmlDataList(dataList);
Stubstub = new Stub();

Authenticator basicAuthenticator = new HttpTransportProperties.Authenticator();
List<String> schemes= new ArrayList<String>();
authSchemes.add(Authenticator.BASIC);
basicAuthenticator.setAuthSchemes(schemes); 
basicAuthenticator.setUsername("UName");
basicAuthenticator.setPassword("Pwd");
basicAuthenticator.setPreemptiveAuthentication(true);

stub._getServiceClient().getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.AUTHENTICATE, basicAuthenticator);

wsdl (https) に接続するためのプリエンプティブ条件を設定するにはどうすればよいですか? 誰かがこれがどのように機能するかを説明できますか?

ありがとう!

4

1 に答える 1

1

エラー メッセージは、エンドポイントがおそらく自己署名証明書を使用していることを意味します。この証明書を受け入れるには、この証明書をローカルのキーストアに追加する必要があります。次の質問を参照してください

于 2013-05-01T15:15:00.940 に答える