5

我正在尝试使用 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">

没有效果。:(

有什么帮助吗?

4

3 回答 3

7

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

选项:-enableIntrospection

于 2012-02-14T10:49:32.030 回答
2

这是另一个解决问题的插件:

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

它会额外getXXX()生成 default isXXX(),因此,已经使用这些类的代码在应用插件后不会中断。

于 2012-06-21T13:16:34.667 回答
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 build 中使用如下:

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

高温高压

于 2009-06-17T21:25:39.773 回答