Я использую jaxb-xjc (версия 2.2.4-1, в задаче Gradle) для создания классов Java из wsdl (для использования в качестве клиента веб-службы).Созданные JAXB/xjc классы исключений не выбрасываются
Согласно документации 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")
}