2015-04-09 6 views
1

Я использую 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") 
     } 

ответ

1

Фигурные обходной путь для этого:

Вместо использования XJC, я использовал другой генератор вместо: wsdl2java

И сюрприз - Вновь созданные классы теперь происходят Класс исключений! Настройки Gradle, используемые для wsdl2java, соответствовали примеру на странице Github.

 Смежные вопросы

  • Нет связанных вопросов^_^