Настройка имен пользовательских классов обслуживания для различных версий WSDL с помощью wsdl2java

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

  • info_service_v1.язык WSDL
  • info_service_v2.язык WSDL

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

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

Пример:

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

1 ответ

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