I was working with Metro, and my client was generated using wsimport by passing different arguments
<wsimport keep="true" sourcedestdir="${sourceDir}" destdir="${binDir}" extension="true" wsdl="${wsdlUrl}" binding="${basedir}/jaxbCalendarBinding.xml"> <xjcarg value="-cp" /> <xjcarg path="${metroLib}/plugins/jaxb-commons-lang-plugin-2.2.jar:${metroLib}/plugins/jaxb-fluent-api-2.2.jar: ${metroLib}/plugins/collection-setter-injector.jar" /> <xjcarg value="-Xcommons-lang" /> <xjcarg value="-Xcommons-lang:ToStringStyle=SHORT_PREFIX_STYLE" /> <xjcarg value="-Xfluent-api" /> <xjcarg value="-Xcollection-setter-injector" /> </wsimport>
Once migrated to JBoss EAP6, I was wndering to generate also my WSDLs and client using JBoss Tolols, so I have modified my ant file like this:
<wsconsume fork="false" keep="true" destdir="${binDir}" sourcedestdir="${sourceDir}" wsdl="${wsdlUrl}" binding="${basedir}/jaxbCalendarBinding.xml"/>
But how to add the fluent API.
Otherwhise, should I keep the use of metro tool to generate my Ws or it may cause problems later.
I have seen in this discussion https://community.jboss.org/thread/214200 a solution for cxf. I have tried this but it is not working:
<java classname="org.jboss.ws.tools.ant.WSConsumeTask" fork="false" failonerror="true"> <arg value="-ant" /> <arg value="-client" /> <arg value="-d" /> <arg value="${sourceDir}" /> <arg value="-b" /> <arg value="${basedir}/jaxbCalendarBinding.xml" /> <arg value="-xjc-Xcommons-lang"/> <arg value="-xjc-Xcommons-lang:ToStringStyle=SHORT_PREFIX_STYLE" /> <arg value="-xjc-Xfluent-api" /> <arg value="-xjc-Xcollection-setter-injector"/> <arg value="${wsdlUrl}" /> <classpath> <fileset dir="${jbossModuleDir}"> <include name="**/*.jar" /> </fileset> <fileset dir="${fluentDir}"> <include name="**/*.jar" /> </fileset> </classpath> </java>