геттер для логических свойств с JAXB - PullRequest
5 голосов
/ 14 октября 2008

Я пытаюсь представить сервисы, используя jax-ws, но первое, что я получил, было то, что Weblogic не поддерживает внутренние классы для объектов запроса / ответа. После преодоления этой ситуации здесь я столкнулся с еще одной проблемой:

Генерация getXXX() вместо / дополнительно к isXXX() методу.

Мне нужно сгенерировать этот метод, потому что при запуске службы я получаю сообщение:

<WS data binding error>could not find getter for property 'IsXXX' on com.foo.MyClass

Попробовал настройку:

<jaxb:globalBindings generateIsSetMethod="false" enableJavaNamingConventions="false">

без эффекта. (

Любая помощь?

Ответы [ 3 ]

7 голосов
/ 14 февраля 2012

Это исправлено или, точнее, поддерживается в jaxb 2.1.13 (см. JAXB-131 для более подробной информации). Обновите свои зависимости и настройте параметр enableIntrospection xjc. Более подробную информацию о параметрах xjc можно найти по этой ссылке . Если вы используете org.codehause.mojo: плагин jaxb2-maven-plugin: 1.3.1, см. этот комментарий к проблеме для обхода проблемы.

Опция: -enableIntrospection

2 голосов
/ 21 июня 2012

Вот еще один плагин, который решает проблему:

http://code.google.com/p/nebulent-xjc-booleangetter/wiki/AboutThisProject

Генерирует getXXX() дополнительно к значению по умолчанию isXXX(), следовательно, код, уже использующий эти классы, не ломается после применения плагина.

1 голос
/ 18 июня 2009

Плагин BooleanGetter XJC для JAXB доступен по адресу http://fisheye5.cenqua.com/browse/~raw,r=1.1/jaxb2-commons/www/boolean-getter/index.html

Если вы работаете с JavaSE 6, его необходимо переупаковать - см. http://forums.java.net/jive/message.jspa?messageID=319434

Используйте в сборке муравьев, как показано ниже:

    <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask" classpathref="development.classpath"/>

    <xjc schema="some.xsd" package="com.acme.jaxb" destdir="gen-src">
        <arg value="-Xcollection-setter-injector"/>  
        <arg value="-Xboolean-getter"/>
    </xjc>          

НТН

...