wsimport 带https协议wdsl 时报错的处理

时间:2022-05-19 18:06:11

最近用wsimport处理 带https协议wdsl 时报错:

E:\Projects\Sample>wsimport -s ./src -verbose https://localhost:8743/hello?wsdl
正在解析 WSDL...

[ERROR] sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

无法读取 WSDL 文档: https://localhost:8743/hello?wsdl, 原因为 1) 找不到文档; 2) 无法读取文档; 3) 文档的根元素不是 <wsdl:definitions>。


[ERROR] failed.noservice=在提供的 WSDL 中找不到 wsdl:service:

需要至少提供一个 WSDL, 该 WSDL 至少具有一个服务定义。

 无法解析 WSDL。


大概是没有找到证书的意思。

参考国外人士的意见,这样处理:

E:\Projects\Sample>java -Djavax.net.ssl.trustStore=E:\MyProjects\SSL\server.keystore com.sun.tools.internal.ws.WsImport https://localhost:8743/hello?wsdl -p com.hjs.hello -s ./src
正在解析 WSDL...


OK啦。

当然,肯定有更好的方法,暂时没找到去尝试。有机会补上。