2

このクライアントで正常に動作するWebサービスに接続します。

WSCSI WSCS = new WSCSI("http://localhost:8080/ServiceV2/services/WSCSISoap?wsdl","WSCSI","WSCSISoap");
IScoring instance = new ScoringCFA(WSCS);

assertEquals(true, instance.statusService());

SSLを使用する必要があるため、URLを https:// localhost:8181 / ServiceV2 / services / WSCSISoap?wsdlに変更します。

そして、これをVMオプションに追加します。

-Djavax.net.ssl.trustStore="C:\cacerts.jks"

('Keytool -list -keystore "C:\ cacerts.jks'、このコマンドを実行すると、必要な証明書がそこにあることがわかります)

クライアントを実行すると、次のエラーが発生します。

java.security.cert.CertificateException: No name matching localhost found.)
4

2 に答える 2

2

これは、使用している証明書が特定のホスト名(www.myhost.com)に対して発行されていることが原因である可能性があります。この記事の解決策を試してください。
ただし、コードサンプルはローカルホストテストのみを目的としていることに注意してください。適切なサーバーでの統合/アセンブリテストに移行したら、コードサンプルを削除してください。

于 2011-02-09T19:49:27.693 に答える
0

SSLホスト名の検証を無効にするとうまくいくかもしれないと私には思えます。ここに別の例があります

于 2011-02-09T19:48:11.403 に答える