Как генерировать все классы в базовом пакете при использовании WSDL2Java из Axis 2? - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь заставить WSDL2Java (org.apache.axis2.wsdl.WSDL2Java) сгенерировать все классы в данном базовом пакете, например com.mycompany.thewebservice. *

Согласно документации опция -p должна помочь:

-p --package Имя целевого пакета. Если опущен, будет использован пакет по умолчанию (сформированный с использованием целевого пространства имен WSDL).

Но, к сожалению, когда мы используем опцию -p, только 3 основных класса (XService.java, XCallbackHandler.java и XServiceStub.java) генерируются в данном пакете. Многие другие пакеты создаются, например:

  • com.theservice. *
  • org.w3.www._2004._60.xmlmime
  • org.xmlsoap.schemas.soap.encoding

Это беспорядок для нас, потому что мы интегрируем множество веб-сервисов и хотим, чтобы все классы для сервиса находились в общей базовой папке.

В прошлом мы использовали Axis 1, и ее WSDL2Java (org.apache.axis.wsdl.WSDL2Java) имеет параметр --package, который работает как шарм. В этом случае все классы аккуратно сгенерированы в указанном мной пакете.

Есть ли способ заставить Axis 2 WSDL2Java генерировать все классы в данном пакете? Я знаю о параметре -ns2p --namespace2package, но я не хочу перечислять URL-адреса по одному для каждого интегрируемого сервиса.

...