Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / JAXB jaxws-maven-plugin 2 wsdl с одним targetNamespace. Перезаписывает ObjectFactory / 5 сообщений из 5, страница 1 из 1
19.05.2016, 14:25
    #39239127
belove
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JAXB jaxws-maven-plugin 2 wsdl с одним targetNamespace. Перезаписывает ObjectFactory
Есть две wsdl. У них совпадает targetNamespace. В каждой из wsdl есть общие типы и есть собственные. Импортируем их как клиент web-сервис через jaxws-maven-plugin. Сами классы формируются корректно, но при импорте второй wsdl ObjectFactory перезатирается и содержит только создание тех классов, которые объявлены во второй wsdl. Как это победить ? От чего это зависит ? Может какие то дополнительные параметры генерации ? Нужен объединенный ObjectFactory.


Самое интересное что есть третья wsdl, которая так же пересекается с первой. Так вот если взять первую и третью, то ObjectFactory не перезаписывается, а дополняется методами. Объяснить феномен не могу, но так как нужны первая и вторая wsdl как то победить ситуацию надо. Может, кто то сталкивался с подобной проблемой ?
...
Рейтинг: 0 / 0
19.05.2016, 14:30
    #39239133
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JAXB jaxws-maven-plugin 2 wsdl с одним targetNamespace. Перезаписывает ObjectFactory
belove,

Хрень какая-то. Если у вас уже каша на уровне WSDL, то почему вы пытаетесь разрулить её на уровне генерации классов?
Соберите их 3х WSDL один документ. Отделите порты от типов. И сгенерируйте то что вам нужно.

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

В общем, если это всё одно и то же - то сливайте вручную WSDL.
Если это 3 разных сервиса, то генерируйте 3 разных пакета и работайте с ними независимо.
...
Рейтинг: 0 / 0
19.05.2016, 15:50
    #39239255
belove
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JAXB jaxws-maven-plugin 2 wsdl с одним targetNamespace. Перезаписывает ObjectFactory
Blazkowicz, это три разных сервира. Разделять их нельзя, так как у них пересечение по классам должно быть
...
Рейтинг: 0 / 0
19.05.2016, 16:09
    #39239292
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JAXB jaxws-maven-plugin 2 wsdl с одним targetNamespace. Перезаписывает ObjectFactory
beloveBlazkowicz, это три разных сервира. Разделять их нельзя, так как у них пересечение по классам должно быть
А если вы их смешаете, то кто обезопасит ваш код о того чтобы он отправлял в сервис структуры, которые сервисом не поддерживаются? Ведь после слияния типов вы уже не узнаете об ограничениях каждого из сервисов.

Вообще, ваша проблема одна из многих, по которым я не использую генерацию JAXWS в build time.
Я генерирую только java исходники и держу их в коде проекта.

В вашем случае это тоже может быть решением. ObjectFactory достаточно смержить руками один единственный раз.
Ещё одним плюсом является то что JAXWS код можно спокойно вычистить от типов и методов, которые вам не нужны.
...
Рейтинг: 0 / 0
20.05.2016, 08:28
    #39239668
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JAXB jaxws-maven-plugin 2 wsdl с одним targetNamespace. Перезаписывает ObjectFactory
beloveЕсть две wsdl. У них совпадает targetNamespace. В каждой из wsdl есть общие типы и есть собственные. Импортируем их как клиент web-сервис через jaxws-maven-plugin. Сами классы формируются корректно, но при импорте второй wsdl ObjectFactory перезатирается и содержит только создание тех классов, которые объявлены во второй wsdl. Как это победить ? От чего это зависит ? Может какие то дополнительные параметры генерации ? Нужен объединенный ObjectFactory.


Самое интересное что есть третья wsdl, которая так же пересекается с первой. Так вот если взять первую и третью, то ObjectFactory не перезаписывается, а дополняется методами. Объяснить феномен не могу, но так как нужны первая и вторая wsdl как то победить ситуацию надо. Может, кто то сталкивался с подобной проблемой ?

Либо как предлагали выше разруливать вручную.
Или передавать привет разработчикам сервисов.

P.S. Я бы разруливал вручную.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JAXB jaxws-maven-plugin 2 wsdl с одним targetNamespace. Перезаписывает ObjectFactory / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]