使用 HTTP 身份验证和 maven-jaxb2-plugin 生成 WSDL 架构

2024-04-05

我想使用 jaxb2 插件生成可从安全 URL 访问的 WSDL(使用用户 ID 和密码进行基本身份验证)。

我应该在哪里指定生成架构的凭据?如果不提供它们,我会在架构生成过程中收到一个 401 错误。

<plugin>
    <groupId>org.jvnet.jaxb2.maven2</groupId>
    <artifactId>maven-jaxb2-plugin</artifactId>
    <version>0.13.1</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <schemaLanguage>WSDL</schemaLanguage>
        <generatePackage>hello.wsdl</generatePackage>
        <schemas>
            <schema>
                <url>http://www.webservicex.com/stockquote.asmx?WSDL</url>
            </schema>
        </schemas>
    </configuration>
</plugin>

当前不支持下载架构的 HTTP 身份验证,并且添加它的拉取请求被拒绝 https://github.com/highsource/maven-jaxb2-plugin/pull/102,所以不会被执行。这是因为下载 WSDL 并在本地处理它总是更好,而不是在每次构建期间下载它:

  • 它使得构建高度依赖于 WSDL 的可用性,而这可能无法得到保证,并且最终可能会无缘无故地导致构建失败;
  • 构建不再是可重复的,这与 Maven 所追求的目标相反,因为您不一定控制远程 WSDL 更新的方式和时间。

有点hacky的方式 https://stackoverflow.com/questions/13342876/configure-maven-to-use-cxf-wsdl2java-with-basic-authentication使用 Apache CXF Codegen Plugin 来完成此操作,但我真的不推荐它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 HTTP 身份验证和 maven-jaxb2-plugin 生成 WSDL 架构 的相关文章

随机推荐