MavengeneratePackage用于从模式定义生成类的wsdl

2024-01-04

我正在使用 Java14 和 Spring Boot。

我需要基于 wsdl 生成一些 Java 类。然而,它正在生成,它将所有生成的类放在平面结构中,而不是放在 wsdl 中指定的包中。

如果有人可以提供一些建议,我将不胜感激。

更多细节:

POM(可以看到生成的包是com.travellinck.client.approval)

    <build>
        <plugins>
<!--            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin> -->
            <plugin>
                <groupId>org.jvnet.jaxb2.maven2</groupId>
                <artifactId>maven-jaxb2-plugin</artifactId>
                <version>0.13.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <generatePackage>com.travellinck.client.approval</generatePackage>
                    <generateDirectory>${project.basedir}/src/main/java</generateDirectory>
                    <schemaDirectory>${project.basedir}/src/main/resources/wsdl</schemaDirectory>
                    <schemaIncludes>
                        <include>*.wsdl</include>
                    </schemaIncludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

WSDL

<!--  Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.5-b05 .  -->
<!--  Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.5-b05 .  -->
<definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.travellinck.com/client/approval/service" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.travellinck.com/client/approval/service" name="ApprovalService">
    <types>
        <xsd:schema>
            <xsd:import namespace="http://www.travellinck.com/client/approval/service" schemaLocation="http://localhost:8088/approval?xsd=1"/>
        </xsd:schema>
        <xsd:schema>
            <xsd:import namespace="http://www.travellinck.com/client/approval/evaluation/strategy" schemaLocation="http://localhost:8088/approval?xsd=2"/>
        </xsd:schema>
        <xsd:schema>
            <xsd:import namespace="http://www.travellinck.com/client/approval/evaluation" schemaLocation="http://localhost:8088/approval?xsd=3"/>
        </xsd:schema>
        <xsd:schema>
            <xsd:import namespace="http://www.travellinck.com/client/approval/contact" schemaLocation="http://localhost:8088/approval?xsd=4"/>
        </xsd:schema>
        <xsd:schema>
            <xsd:import namespace="http://www.travellinck.com/client/approval" schemaLocation="http://localhost:8088/approval?xsd=5"/>
        </xsd:schema>
    </types>
    <message name="submitRequestForApproval">
        <part xmlns:ns1="http://www.travellinck.com/client/approval" name="approvalRequest" element="ns1:approvalRequest"/>
    </message>
    <message name="submitRequestForApprovalResponse">
        <part xmlns:ns2="http://www.travellinck.com/client/approval" name="approvalResponse" element="ns2:approvalResponse"/>
    </message>
    <message name="UnsupportedBusinessRequest">
        <part name="fault" element="tns:unsupportedBusinessRequest"/>
    </message>
    <message name="UnsupportedSupportingDocument">
        <part name="fault" element="tns:unsupportedSupportingDocument"/>
    </message>
    <message name="getApprovalState">
        <part xmlns:ns3="http://www.travellinck.com/client/approval" name="getApprovalStateRequest" element="ns3:getApprovalStateRequest"/>
    </message>
    <message name="getApprovalStateResponse">
        <part xmlns:ns4="http://www.travellinck.com/client/approval" name="getApprovalStateResponse" element="ns4:getApprovalStateResponse"/>
    </message>
    <message name="UnknownApprovalRequest">
        <part name="fault" element="tns:unknownApprovalRequest"/>
    </message>
    <message name="withdrawRequestForApproval">
        <part xmlns:ns5="http://www.travellinck.com/client/approval" name="withdrawApprovalRequest" element="ns5:withdrawApprovalRequest"/>
    </message>
    <message name="withdrawRequestForApprovalResponse">
        <part xmlns:ns6="http://www.travellinck.com/client/approval" name="withdrawApprovalResponse" element="ns6:withdrawApprovalResponse"/>
    </message>
    <message name="InvalidRequest">
        <part name="fault" element="tns:invalidRequest"/>
    </message>
    <message name="RequestNoLongerInProgress">
        <part name="fault" element="tns:requestNoLongerInProgress"/>
    </message>
    <portType name="Approval">
        <operation name="submitRequestForApproval">
            <input wsam:Action="http://www.travellinck.com/client/approval/service/Approval/submitRequestForApprovalRequest" message="tns:submitRequestForApproval"/>
            <output wsam:Action="http://www.travellinck.com/client/approval/service/Approval/submitRequestForApprovalResponse" message="tns:submitRequestForApprovalResponse"/>
            <fault message="tns:UnsupportedBusinessRequest" name="UnsupportedBusinessRequest" wsam:Action="http://www.travellinck.com/client/approval/service/Approval/submitRequestForApproval/Fault/UnsupportedBusinessRequest"/>
            <fault message="tns:UnsupportedSupportingDocument" name="UnsupportedSupportingDocument" wsam:Action="http://www.travellinck.com/client/approval/service/Approval/submitRequestForApproval/Fault/UnsupportedSupportingDocument"/>
        </operation>
        <operation name="getApprovalState">
            <input wsam:Action="http://www.travellinck.com/client/approval/service/Approval/getApprovalStateRequest" message="tns:getApprovalState"/>
            <output wsam:Action="http://www.travellinck.com/client/approval/service/Approval/getApprovalStateResponse" message="tns:getApprovalStateResponse"/>
            <fault message="tns:UnknownApprovalRequest" name="UnknownApprovalRequest" wsam:Action="http://www.travellinck.com/client/approval/service/Approval/getApprovalState/Fault/UnknownApprovalRequest"/>
        </operation>
        <operation name="withdrawRequestForApproval">
            <input wsam:Action="http://www.travellinck.com/client/approval/service/Approval/withdrawRequestForApprovalRequest" message="tns:withdrawRequestForApproval"/>
            <output wsam:Action="http://www.travellinck.com/client/approval/service/Approval/withdrawRequestForApprovalResponse" message="tns:withdrawRequestForApprovalResponse"/>
            <fault message="tns:InvalidRequest" name="InvalidRequest" wsam:Action="http://www.travellinck.com/client/approval/service/Approval/withdrawRequestForApproval/Fault/InvalidRequest"/>
            <fault message="tns:RequestNoLongerInProgress" name="RequestNoLongerInProgress" wsam:Action="http://www.travellinck.com/client/approval/service/Approval/withdrawRequestForApproval/Fault/RequestNoLongerInProgress"/>
            <fault message="tns:UnknownApprovalRequest" name="UnknownApprovalRequest" wsam:Action="http://www.travellinck.com/client/approval/service/Approval/withdrawRequestForApproval/Fault/UnknownApprovalRequest"/>
        </operation>
    </portType>
    <binding name="ApprovalPortBinding" type="tns:Approval">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <operation name="submitRequestForApproval">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="UnsupportedBusinessRequest">
                <soap:fault name="UnsupportedBusinessRequest" use="literal"/>
            </fault>
            <fault name="UnsupportedSupportingDocument">
                <soap:fault name="UnsupportedSupportingDocument" use="literal"/>
            </fault>
        </operation>
        <operation name="getApprovalState">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="UnknownApprovalRequest">
                <soap:fault name="UnknownApprovalRequest" use="literal"/>
            </fault>
        </operation>
        <operation name="withdrawRequestForApproval">
            <soap:operation soapAction=""/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
            <fault name="InvalidRequest">
                <soap:fault name="InvalidRequest" use="literal"/>
            </fault>
            <fault name="RequestNoLongerInProgress">
                <soap:fault name="RequestNoLongerInProgress" use="literal"/>
            </fault>
            <fault name="UnknownApprovalRequest">
                <soap:fault name="UnknownApprovalRequest" use="literal"/>
            </fault>
        </operation>
    </binding>
    <service name="ApprovalService">
        <port name="ApprovalPort" binding="tns:ApprovalPortBinding">
            <soap:address location="http://localhost:8088/approval"/>
        </port>
    </service>
</definitions>

这会生成模型类com.travellinck.client.approval包裹。

这是不正确的,我希望它按如下方式生成它们(这是从另一个使用 Java7 的应用程序获取的,该应用程序从相同的 wsdl 生成模型类):

正如您所看到的,这些类不是平面结构,而是根据 wsdl 定义位于它们的包中:

e.g.

    <xsd:schema>
        <xsd:import namespace="http://www.travellinck.com/client/approval/contact" schemaLocation="http://localhost:8088/approval?xsd=4"/>
    </xsd:schema>

就好像它忽略了/contact.


我通过使用 apache.cxf 解决了这个问题

        <plugin>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-codegen-plugin</artifactId>
            <version>3.3.7</version>
            <executions>
                <execution>
                    <id>generate-sources</id>
                    <phase>generate-sources</phase>
                    <configuration>
                        <sourceRoot>${project.basedir}/src/main/java</sourceRoot>
                        <wsdlOptions>
                            <wsdlOption>
                                <wsdl>${project.basedir}/src/main/resources/wsdl/approval.wsdl</wsdl>
                            </wsdlOption>
                        </wsdlOptions>
                    </configuration>
                    <goals>
                        <goal>wsdl2java</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MavengeneratePackage用于从模式定义生成类的wsdl 的相关文章

  • 如何在一行中将字符串数组转换为双精度数组

    我有一个字符串数组 String guaranteedOutput Arrays copyOf values values length String class 所有字符串值都是数字 数据应转换为Double QuestionJava 中
  • AES 加密 Java/plsql

    我需要在Java和plsql DBMS CRYPTO for Oracle 10g 上实现相同的加密 解密应用程序 两种实现都工作正常 但这里的问题是我对相同纯文本的加密得到了不同的输出 下面是用于加密 解密过程的代码 Java 和 PLS
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • manifest.mf 文件的附加内容的约定?

    Java JAR 中的 MANIFEST MF 文件是否有任何超出 MANIFEST MF 约定的约定 JAR规范 http download oracle com javase 1 4 2 docs guide jar jar html
  • 如何查找 Android 设备中的所有文件并将它们放入列表中?

    我正在寻求帮助来列出 Android 外部存储设备中的所有文件 我想查找所有文件夹 包括主文件夹的子文件夹 有办法吗 我已经做了一个基本的工作 但我仍然没有得到想要的结果 这不起作用 这是我的代码 File files array file
  • HDFS:使用 Java / Scala API 移动多个文件

    我需要使用 Java Scala 程序移动 HDFS 中对应于给定正则表达式的多个文件 例如 我必须移动所有名称为 xml从文件夹a到文件夹b 使用 shell 命令我可以使用以下命令 bin hdfs dfs mv a xml b 我可以
  • 一种使用 Java Robot API 和 Selenium WebDriver by Java 进行文件上传的解决方案

    我看到很多人在使用 Selenium WebDriver 的测试环境中上传文件时遇到问题 我使用 selenium WebDriver 和 java 也遇到了同样的问题 我终于找到了解决方案 所以我将其发布在这里希望对其他人有所帮助 当我需
  • Prim 的迷宫生成算法:获取相邻单元格

    我基于 Prim 算法编写了一个迷宫生成器程序 该算法是 Prim 算法的随机版本 从充满墙壁的网格开始 选择一个单元格 将其标记为迷宫的一部分 将单元格的墙壁添加到墙壁列表中 While there are walls in the li
  • 迁移到 java 17 后有关“每个进程的内存映射”和 JVM 崩溃的 GC 警告

    我们正在将 java 8 应用程序迁移到 java 17 并将 GC 从G1GC to ZGC 我们的应用程序作为容器运行 这两个基础映像之间的唯一区别是 java 的版本 例如对于 java 17 版本 FROM ubuntu 20 04
  • 序列化对象以进行单元测试

    假设在单元测试中我需要一个对象 其中所有 50 个字段都设置了一些值 我不想手动设置所有这些字段 因为这需要时间而且很烦人 不知何故 我需要获得一个实例 其中所有字段都由一些非空值初始化 我有一个想法 如果我要调试一些代码 在某个时候我会得
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • 反思 Groovy 脚本中声明的函数

    有没有一种方法可以获取 Groovy 脚本中声明的函数的反射数据 该脚本已通过GroovyShell目的 具体来说 我想枚举脚本中的函数并访问附加到它们的注释 Put this到 Groovy 脚本的最后一行 它将作为脚本的返回值 a la
  • 检查 protobuf 消息 - 如何按名称获取字段值?

    我似乎无法找到一种方法来验证 protobuf 消息中字段的值 而无需显式调用其 getter 我看到周围的例子使用Descriptors FieldDescriptor实例到达消息映射内部 但它们要么基于迭代器 要么由字段号驱动 一旦我有
  • Springs 元素“beans”不能具有字符 [children],因为该类型的内容类型是仅元素

    我在 stackoverflow 中搜索了一些页面来解决这个问题 确实遵循了一些正确的答案 但不起作用 我是春天的新人 对不起 这是我的调度程序 servlet
  • 如何测试 spring-security-oauth2 资源服务器安全性?

    随着 Spring Security 4 的发布改进了对测试的支持 http docs spring io spring security site docs 4 0 x reference htmlsingle test我想更新我当前的
  • 将2-3-4树转换为红黑树

    我正在尝试将 2 3 4 树转换为 java 中的红黑树 但我无法弄清楚它 我将这两个基本类编写如下 以使问题简单明了 但不知道从这里到哪里去 public class TwoThreeFour
  • com.jcraft.jsch.JSchException:身份验证失败

    当我从本地磁盘上传文件到远程服务器时 出现这样的异常 com jcraft jsch JSchException Auth fail at org apache tools ant taskdefs optional ssh Scp exe
  • JAVA - 如何从扫描仪读取文件中检测到“\n”字符

    第一次海报 我在读取文本文件的扫描仪中读取返回字符时遇到问题 正在读取的文本文件如下所示 test txt start 2 0 30 30 1 1 90 30 0 test txt end 第一行 2 表示两个点 第二行 位置索引 0 xp
  • java8 Collectors.toMap() 限制?

    我正在尝试使用java8Collectors toMap on a Stream of ZipEntry 这可能不是最好的想法 因为在处理过程中可能会发生异常 但我想这应该是可能的 我现在收到一个我不明白的编译错误 我猜是类型推理引擎 这是
  • Jackson 将单个项目反序列化到列表中

    我正在尝试使用一项服务 该服务为我提供了一个带有数组字段的实体 id 23233 items name item 1 name item 2 但是 当数组包含单个项目时 将返回该项目本身 而不是包含一个元素的数组 id 43567 item

随机推荐

  • 格式化 Carbon 日期实例

    我有一个返回以下日期时间的数组 item created at gt 2015 10 28 19 18 44 如何将日期更改为M d Y在 Laravel 中使用 Carbon 格式化 目前它返回错误 suborder payment da
  • 使用 Logback SizeAndTimeBasedFNATP 时如何限制每天的文件数量

    使用Logback SizeAndTimeBasedFNATP触发策略时 如何限制每天的文件数量 例如 在任何一天 我都不希望拥有超过 100MB 的日志 鉴于每个日志 在下面的示例中 为 20MB 我希望能够将每天的最大限制设置为 5 个
  • 如何在下拉列表中选择完整的日历月份和年份

    我有一个完整的日历 我需要在下拉列表中显示它的月份和年份 我知道这个问题已经被问过 但仍然没有得到解答 我是完整日历的新手 据我所知 它现在已更新 希望有一些最简单的方法来实现 而不是给它 gotodate 选项 我已经为日历创建了代码笔
  • 在 WebForms 应用程序中验证AntiForgeryToken

    我已经阅读了一些有关使用的内容ValidateAntiForgeryToken防止 XSRF CSRF 攻击 然而我所看到的似乎只与 MVC 有关 这些是我看过的文章 ValidateAntiForgeryToken 目的 解释和示例 ht
  • 禁用整个页面的 UpdateProgress

    我已经检查过这个解决方案 有没有办法禁用某些异步回发的 UpdateProgress https stackoverflow com questions 6299072 is there a way to disable updatepro
  • Jenkins 工作流程:如何获取或设置步骤 ID

    我们想引用 Jenkins 工作流程并行任务中的一个步骤 但似乎对于多个并行任务中的步骤创建的步骤 ID 是不确定的 对于输入步骤 可以手动指定步骤 ID 是否可以为 shell 步骤指定步骤 id 或查询步骤 id 目的是我们希望在并行任
  • 使用 jquery 和 canvas 从 html 元素 id 到另一个 html 元素绘制线条

    html和jquery是否可以只通过引用元素id来画一条线 我在文本中有一个重要的单词 并且想在该单词和描述它的图像之间画一条线 我已经看到可以使用画布在元素之间进行绘制 但它们的样式位置设置为绝对 由于我的元素是文本中的单词 因此我无法将
  • Windows 运行时组件中无法继承?

    设想 我的 Windows 运行时组件项目中有 3 个类 A B C class A public sealed class B A public sealed class C A 编译上面的代码 我得到以下内容error 可访问性不一致
  • 如何检查 pandas 数据框中的字符串值序列并输出后续内容

    我正在尝试检查数据框中 B B B 的顺序 d A A B C D B B B A A E F B B B F A A testdf pd DataFrame data d array seq pd Series B B B for i i
  • 为什么 cerr 输出比 cout 快?

    使用 cout 需要多一点时间来输出语句 这对我来说不太好 但是当使用 cerr 时 输出速度更快 为什么 只是想帮忙 cout gt 常规输出 控制台输出 cerr gt 错误输出 控制台错误 cout 是缓冲的 而 cerr 不是 因此
  • 在 MYSQL 搜索中使用 URL 参数

    我正在尝试为产品建立一个搜索页面 其中我有两个表产品和库存 我在产品中有我的产品详细信息 在库存中有库存详细信息 如颜色 尺寸 价格等 请提出一个解决方案 我真的陷入困境 我需要一个更好的解决方案来实现强大的设计 以下是所有必要的详细信息
  • Spring RMI 远程注解配置

    我已经为此寻找了一段时间 但似乎找不到答案 我正在使用 Spring RMI 远程处理 并且我想使用注释配置 这可能吗 据我所知 spring 没有基于标准注释的 RMI 支持 我碰到这个链接 http rpgkan blogspot in
  • 如何以编程方式向 contentPlaceHolder 添加内容?

    我有一个母版页 我的所有页面都继承它 对于格式设置 我想将一页与另一页不同的内容放置在 ContentPlaceHolder 中 现在 我怎样才能将所有内容插入其中 由于我计划用数据库中的内容填充 ContentPlaceHolder 我想
  • Spring 中的拦截器与方面?

    我正在尝试在 Spring 中使用拦截器 我想在某些方法上实现拦截器 以在调用这些方法时处理特定逻辑 我还想不使用 Web 框架 因为我倾向于使用 Spring 作为后端 而不使用任何标头 经过搜索 我认为 spring 方法称为方面 您能
  • git 仅从一个分支删除文件

    当我从一个分支删除文件时 它会从所有分支中删除 我能做些什么 使用 git 删除文件并保留该项目状态时 git commit 它只会在该提交及其子项中被删除 说 在该分支中 当将该分支合并到另一个分支时 该文件很可能会被删除 除非在另一个分
  • 如何导出共享案例类的属性

    我正在尝试在服务器和客户端之间共享案例类 我在两端都使用了 upickle 对象及其数据在两端都可以很好地使用 共享类 case class Foo var id Long var title Description 但是我需要在客户端导出
  • 在 iOS 设备上尝试时 Flutter 签名无效

    TL DR 编辑 2020 05 06 我的应用程序从 iOS 13 4 开始正确安装 但一段时间后应用程序在启动时崩溃 我必须重新安装它 我不知道为什么 也许是在 iOS 更新之后 另请参阅下面的答案 https stackoverflo
  • 如何从 python 3.5 脚本创建独立的可执行文件?

    大多数可用程序仅支持 python 版本 3 4 您可以使用py安装程序 http www pyinstaller org支持Python 3 5 要使用 pip 安装它 请在终端中执行 pip install pyinstaller 要制
  • Javascript 匹配在 IE 中不起作用

    我有以下代码 function rgb2hex rgb rgb rgb match rgb d s d s d return hex rgb 1 hex rgb 2 hex rgb 3 似乎在 FF 和 Chrome 中工作正常 IE 给出
  • MavengeneratePackage用于从模式定义生成类的wsdl

    我正在使用 Java14 和 Spring Boot 我需要基于 wsdl 生成一些 Java 类 然而 它正在生成 它将所有生成的类放在平面结构中 而不是放在 wsdl 中指定的包中 如果有人可以提供一些建议 我将不胜感激 更多细节 PO