средство получения логических свойств с помощью JAXB

StackOverflow https://stackoverflow.com/questions/202124

  •  03-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь предоставить сервисы с помощью 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">

безрезультатно.:(

Какая-нибудь помощь?

Это было полезно?

Решение

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

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

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

    <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>          

HTH

Другие советы

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

Вариант:-Включить интроспекцию

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top