我通过HTTPS使用jaxws-maven-plugin生成源代码:
<executions>
<execution>
<id>wsdl_new_xxx-exec</id>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<sourceDestDir>${project.build.directory}/generated</sourceDestDir>
<args>
<arg>-B-XautoNameResolution</arg>
</args>
<wsdlUrls>
<wsdlUrl>https://example.com/xxx.asmx?WSDL</wsdlUrl>
</wsdlUrls>
<packageName>x.y.z</packageName>
</configuration>
</execution>
</executions>
但是在构建期间我得到了:
[ERROR] sun.security.validator.ValidatorException:PKIX路径构建 失败:sun.security.provider.certpath.SunCertPathBuilderException: 无法找到所请求目标的有效证明路径
我知道解决方法是将证书添加到JRE密钥库,但问题是这将在CI系统上运行,该系统具有大量可能无法控制的节点。因此无法将证书安装到所有节点&#39;的JRE。
我怎么解决这个问题?无需使用WSDL文件和pom.xml。
答案 0 :(得分:1)
这是一个简单的解决方案:在您的src/main/resources
目录中存储WSDL的本地副本,并将其用作jaxws-maven-plugin
的参考。