使用JAXB获取布尔属性的getter

pau*_*art 5 xml xsd jax-ws jaxb

我试图使用jax-ws公开服务,但我得到的第一个惊喜是Weblogic不支持请求/响应对象的内部类.得到后在这种情况下在这里,i'm面临的另一个挑战:

生成getXXX()而不是/另外的isXXX()方法.

我需要生成这个方法导致当我启动服务时我收到消息:

<WS data binding error>could not find getter for property 'IsXXX' on com.foo.MyClass
Run Code Online (Sandbox Code Playgroud)

试过定制:

<jaxb:globalBindings generateIsSetMethod="false" enableJavaNamingConventions="false">
Run Code Online (Sandbox Code Playgroud)

没有效果.:(

有帮助吗?

Ste*_*vić 7

这已被修复或更好地说jaxb 2.1.13支持(更多细节见JAXB-131).升级依赖项并配置enableIntrospection xjc选项.有关xjc选项的更多详细信息,请访问此链接.如果您正在使用org.codehause.mojo:jaxb2-maven-plugin:1.3.1插件,请参阅此问题的注释以获取解决方法.

选项:-enableIntrospection


Ala*_*anG 1

JAXB 的 BooleanGetter XJC 插件位于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

在 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>          
Run Code Online (Sandbox Code Playgroud)

华泰