私の 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) に接続するためのプリエンプティブ条件を設定するにはどうすればよいですか? 誰かがこれがどのように機能するかを説明できますか?
ありがとう!