题
我试图使用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">
没有效果。 :(
任何帮助?
解决方案
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>
HTH
其他提示
这是另一个可以解决问题的插件:
http://code.google.com/p/nebulent- XJC-booleangetter /维基/ AboutThisProject
它将 getXXX()
添加到默认的 isXXX()
中,因此,使用这些类的代码在应用插件后不会中断。
不隶属于 StackOverflow