gpt4 book ai didi

java - JAXB/xjc 生成的异常类不可抛出

转载 作者:行者123 更新时间:2023-11-30 03:28:53 31 4
gpt4 key购买 nike

我正在使用 jaxb-xjc(版本 2.2.4-1,在 Gradle 任务中)从 wsdl 生成 Java 类(用作 Web 服务客户端)。

根据 wsdl 文档,某些端点可能会抛出自定义异常。

生成的代码看起来不错,但有一个细节除外:生成的异常类不扩展 Throwable(或任何其他可以扩展它的类)。 WSDL 似乎没问题,因为这些端点中有一个名为错误元素(示例):

<wsdl:fault name="IdentityNotFoundException" message="work_v2:IdentityNotFoundException"/>

有没有办法配置 xjc 使这些自定义异常类成为“真正的”异常类?当前 Gradle/xjc 任务配置为:

            xjc(destdir: sourcesDir, schema: "src/main/resources/wsdl/workService_v2.wsdl",
package: "workService.generated") {
arg(value: "-wsdl")
produces(dir: sourcesDir, includes: "**/*.java")
}

最佳答案

找到了解决此问题的方法:

我没有使用 xjc,而是使用了另一个生成器:wsdl2java

令人惊讶的是 - 新生成的类现在扩展了 Exception 类! wsdl2java 使用的 Gradle 设置是根据其 Github 页面中的示例进行的。

关于java - JAXB/xjc 生成的异常类不可抛出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29539330/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com