Работа с общими пространствами имен с несколькими WSDL (xmlbeans) - PullRequest
2 голосов
/ 15 июля 2010

У меня есть пять WSDL, которые совместно используют пространства имен, но не все из них.Я генерирую из них клиентский код (привязка данных с помощью XMLBeans).Отдельно они компилируются нормально.Я создаю файлы JAR из каждого сгенерированного клиентского кода.

Как только я пытаюсь использовать все файлы JAR в проекте, я получаю конфликты именования / компиляции.

Я хочу использовать как можно больше.Есть ли какой-нибудь умный способ справиться с этим (вместо того, чтобы дать каждому клиенту свой собственный узел в структуре пакета)?

1 Ответ

2 голосов
/ 15 июля 2010

XMLBeans (2.x) faq отмечает ограничения xsdconfig сопоставление пространства имен:

alt text Примечание: XMLBeans не поддерживаетиспользование двух или более наборов классов Java (в разных пакетах), сопоставленных с типами / элементами схемы, которые имеют одинаковые имена и целевые пространства имен, используя все в одном загрузчике классов.В зависимости от направления, которое вы используете для отображения классов Java на типы схем, некоторые функции могут работать некорректно.Это связано с тем, что, хотя имена пакетов для классов java разные, расположение схемы для метаданных схемы (файлы .xsb) одинаково и содержит соответствующий реализующий класс java, поэтому JVM всегда выбирает первое в classpath,Этого можно избежать, если используется несколько загрузчиков классов.

...