2016-11-04 18 views
0

Я разрабатываю клиент SOAP на основе Apache CXF. Классы Java для доступа к веб-сервисам генерируются с использованием плагина Maven от wsdl2java. Есть два WSDL, которые определяют услугу (InfoService) в двух различных версиях:Настройка имен пользовательских классов служб для разных версий WSDL с помощью wsdl2java

  • info_service_v1.wsdl
  • info_service_v2.wsdl

Внутренне, оба используют WSDL, идентичный именование, т.е. генерируемой WebService класс в каждом случае называется InfoService.

Можно ли указать другое имя в зависимости от используемого WSDL?

Пример:

  • info_service_v1.wsdl -> InfoServiceV1
  • info_service_v2.wsdl -> InfoServiceV2

ответ

0

В WSDL2Java, вы можете установить опцию -sn service-name, чтобы изменить имя службы обе версии. Другой вариант - генерировать каждую версию кода в другом пакете с опцией -p package-name

+0

Опция '-sn' выбирает только определенную услугу, если в WSDL есть несколько служб. Он не поддерживает переименование интерфейса службы. Думаю, мне придется использовать определенные пакеты. –