Ошибки xjc при использовании scd в настройке привязки - PullRequest
2 голосов
/ 07 июля 2011

При настройке привязки с использованием scd плагины, не относящиеся к Sun jaxb, не распознаются

Например, это НЕ работает:

<jaxb:bindings
    scd="/~fpml:TradeHeader">
    <ext:interfaces>
        example.TradeHeaderDelegateInterface
    </ext:interfaces>
</jaxb:bindings>    

Однако это работает:

<jaxb:bindings
    schemaLocation="../schemas/fpml-5-1/fpml-doc-5-1.xsd"
    node="/xsd:schema//xsd:complexType[@name='TradeHeader']">
    <ext:interfaces>
        example.TradeHeaderDelegateInterface
    </ext:interfaces>
</jaxb:bindings>

, и это работает:

<jaxb:bindings 
    scd="/~fpml:CommodityMarketDisruption//fpml:marketDisruptionEvent">
    <jaxb:property name="marketDisruptionEvent"/>
</jaxb:bindings>

, что заставляет меня думать, что плагины scd и сторонних разработчиков не ладят:

Я получаю ошибку:

[ERROR] Error while parsing schema(s).Location [ file:/C:/projects/domain-fpml-5-1/src/main/resources/xjb/fpml-5-1.xjb{40,19}].
org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'ext:interfaces'.

Мой файл .xjb объявляет пространство имен для префикса "ext", так что проблема не в этом.

Кто-нибудь работал с плагинами xjc (например, с обычными jaxb, такими как Copyable и т.д.)и заставил его работать с настройкой на основе scd?

Моя версия xjc: 2.2.2, и я использую плагин maven-jaxb2-plugin (версия 0.8.0) для генерации привязок.

Спасибо за любую помощь,

Аравинд

1 Ответ

1 голос
/ 07 февраля 2012

maven-jaxb22-plugin: jar: 0.8.1: время выполнения, com.sun.xml.bind: jaxb-impl: jar: 2.2.5-b10: время выполнения, com.sun.xml.bind: jaxb-xjc : jar: 2.2.5-b10: runtime] все еще показывают эту проблему.

Посмотрев на исходный код xjc (некоторое время назад), это НЕ простое исправление, потому что настройки не «импортируются» в целевой xsd, и обработка происходит в контексте соответствующего компонента.

Это тот случай, когда синтаксический анализатор схемы «импортируется» схемой в контекст привязок, поэтому все пространства имен действительны.

Я вернул все настройки обратно к стилю схемы. Я помню, это имело болезненные последствия при попытке сделать и wsdl, и xsd в одном и том же файле привязок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...