Генерация исходного кода с помощью jaxws-maven-plugin из WSDL через HTTPS

Я генерирую исходный код с помощью jaxws-maven-plugin через HTTPS:

<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.

1 ответ

Вот простое решение: сохраните локальную копию WSDL в своем src/main/resources каталог и использовать его в качестве ссылки дляjaxws-maven-plugin,

Другие вопросы по тегам