Как отлаживать Wsdl2Java объявления ошибок Jaxb вызывают коллизию

У меня есть wsdl, созданный .NET, который я пытаюсь использовать в Java-приложении. Для этого я пытаюсь использовать инструмент CXF Wsdl2Java. Проблема в том, что когда инструмент запускается, он выдает исключение jaxb:

Thrown by JAXB: Two declarations cause a collision in the ObjectFactory class.

Я понимаю, что мне, вероятно, потребуется создать настраиваемый файл привязки для переименования объекта во время сборки, но я не знаю, с чего начать. Как узнать, какие объекты в wsdl вызывают проблемы?

(Похоже, было бы красиво, если бы исключение действительно говорило, какие элементы вызывают конфликт имен)


person JamesP    schedule 14.02.2011    source источник


Ответы (2)


Это может сработать:

  1. сообщить cxf о разрешении конфликта имен с помощью аргумента командной строки -autoNameResolution
  2. скажите jaxb не удалять символы подчеркивания с помощью: jaxb: globalBindings underscoreBinding = asCharInWord
person André Ricardo    schedule 25.09.2012
comment
Исходный URL больше не доступен ... :( - person predrags; 09.04.2021
comment
@predrags извините, это довольно старый ответ, и его нет в веб-архиве. Параметры для cxf задокументированы здесь cxf.apache.org/docs/wsdl-to -java.html Для настройки jaxb docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.5/ Пример настройки этой привязки подчеркивания stackoverflow.com/a/4146742/388038 - person André Ricardo; 10.04.2021

В дополнение к вышесказанному убедитесь, что вы используете последнюю версию инструмента CXF wsdl2java. Последние версии лучше справились с попытками получить номера строк / столбцов, в которых JAXB находит эти типы ошибок. По крайней мере, это может дать общее представление о том, где искать, но их все равно нелегко отследить.

person Daniel Kulp    schedule 25.09.2012