maven - 使用 HTTP 身份验证和 maven-jaxb2-plugin 为 WSDL 生成模式

标签 maven maven-jaxb2-plugin

我想使用 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 身份验证,并且 a pull request to add it was declined ,所以它不会被实现。这是因为最好下载 WSDL 并在本地处理它,而不是在每次构建期间下载它:

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

  • a somewhat hacky way使用 Apache CXF Codegen 插件来做到这一点,但我真的不推荐它。

    关于maven - 使用 HTTP 身份验证和 maven-jaxb2-plugin 为 WSDL 生成模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42137202/

    相关文章:

    java - 使用 maven-jaxb2-plugin 获取 boolean 变量的 Getter

    java - maven-jaxb2-plugin 不在 linux 机器上编译 xsd 但在 windows 上工作?

    java - Spring Boot Maven 单元测试未执行

    java - 创建多模块maven项目时出错

    java - JAXB:当 maxOccurs ="unbounded"时,从 XSD 文件生成具有返回类型的 Setter 方法

    java - 从 XSD 模式生成 JAXB 类会导致奇怪的包结构

    java - 如何更新生成的 stub 的 XML-TYPE

    java - 基于先前插件执行的 Maven 插件条件执行 (maven-compiler-plugin)

    java - 无法解析 de.measite.minidns :minidns:[0. 1,0.2)

    maven - Nexus 无法解决快照依赖性,但我可以在 nexus/content/groups/public 下找到它