JAXB / xjc生成的异常类不是Throwable

时间:2015-04-09 13:05:08

标签: java gradle jaxb wsdl xjc

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

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

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

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

是否有办法配置xjc以使这些自定义异常类成为&#34;真实&#34;异常类?当前的Gradle / xjc任务配置是:

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

1 个答案:

答案 0 :(得分:2)

为此找到解决方法:

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

并且惊喜 - 新生成的类现在扩展了Exception类!用于wsdl2java的Gradle设置是根据其Github页面中的示例。