【发布时间】:2013-01-22 10:47:54
【问题描述】:
我正在尝试使用来自 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://x.x.x.x:8181/services/SomeService?wsdl,因为1)找不到文档; /2) 文件不能 被阅读; 3)文档的根元素不是。
[ERROR] failed.noservice=在提供的 WSDL 中找不到 wsdl:service:
需要提供至少一个具有至少一个服务定义的 WSDL。
Failed to parse the WSDL.
已解决! 在 hosts 文件中添加了名称与证书 CN 相同的条目。
【问题讨论】:
-
在 hosts 文件中添加了与证书 CN 同名的条目。
标签: java web-services soap https wsimport