1

我正在通过 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>

但是在构建期间我得到:

[错误] sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

我知道解决方案是将证书添加到 JRE 密钥库,但问题是这将在 CI 系统上运行,该系统具有大量可能的节点,我无法控制这些节点,因此无法安装证书到所有节点的 JRE。

我该如何解决这个问题?无需将 WSDL 文件与 pom.xml 一起使用。

4

1 回答 1

1

这是一个简单的解决方案:将 WSDL 的本地副本存储在您的src/main/resources目录中,并将其用作jaxws-maven-plugin.

于 2015-04-01T12:53:12.517 回答