https wsdl から wsimport を使用して Web サービス クライアントを生成しようとしています。
call wsimport -d bin -s src -p mypackage.ws https://x.x.x.x:8181/services/SomeService?wsdl
セキュリティ エラーを解決するために、サーバーの証明書を Java のキーストアに追加しました。
keytool -import -keystore c:\Java\jdk1.6.0_38\jre\lib\security\cacerts -file c:\ca-dev.crt
しかし、wsimport エラーが表示されます。
[エラー] java.security.cert.CertificateException: サブジェクトの代替名が存在しません
WSDL ドキュメントの読み取りに失敗しました: https://xxxx:8181/services/SomeService?wsdl。1) ドキュメントが見つからないため。/2) ドキュメントを読み取ることができませんでした。3) ドキュメントのルート要素は ではありません。
[エラー] failed.noservice=提供された WSDL に wsdl:service が見つかりませんでした:
少なくとも 1 つのサービス定義を持つ WSDL を少なくとも 1 つ指定する必要があります。
Failed to parse the WSDL.
解決しました! 証明書の CN と同じ名前のエントリをホスト ファイルに追加しました。