hi,

i wrote a tool that uses XmlBeans to generate Java POJO interfaces in one easy-to-use step encapsulated as an ANT task.

<xwsdlc> ant task extends XmlBeans xbeans task (xmlbeans-1.0.2/docs/xmlbeantask.html) and do post-processing of XmlBeans output to generate Java interface based on WSDL portType.

Example: first make sure add xpp3 and xwsdlc jar files to your CLASSPATH before running ant (see below where to download them) then you can do this:

<taskdef name="xwsdlc" classname="xsul.xwsdl_compiler_xbeans.Xwsdlc" />
<xwsdlc classgendir="s2j" srcgendir="s2j" destfile="s2j.jar" debug="on" wsdlgendir="generated" wsdlpkg="example.wsdl">
<fileset dir="config" />
</xwsdlc>


in this example the task will read input file(s) (such as .wsdl and .xsd) from config directory and generate XmlBeans classes into "s2j" directory and java interfaces for WSDL portTypes into "generated" directory placed in package "example.wsdl" (so output is really going into generated/example/wsdl directory):

Examples of generated Java POJO:
http://www.extreme.indiana.edu/viewcvs/~checkout~/xsul/interop/generated/java_interfaces/dmf/service/CyberArchService.java
http://www.extreme.indiana.edu/viewcvs/~checkout~/xsul/sample_decoder/generated/java_interfaces/decoder/service/DecoderPortType.java

Example WSDL files used to generate above Java files:
http://www.extreme.indiana.edu/viewcvs/~checkout~/xsul/interop/config/mike.wsdl
http://www.extreme.indiana.edu/viewcvs/~checkout~/xsul/sample_decoder/config/Decoder.wsdl

Source code of this extension is under Apache-style compatible license in: http://www.extreme.indiana.edu/viewcvs/~checkout~/xsul/java/modules/xwsdl_compiler_xbeans/xsul/xwsdl_compiler_xbeans/

Binaries (all you need to run the task beside xbeans-1.0.2+ JAR):
download latest xsul_xwsdlc-VERSION.jar and xpp3-VERSION.jar from
http://www.extreme.indiana.edu/dist/java-repository/xsul/jars/
http://www.extreme.indiana.edu/dist/java-repository/xsul/jars/

i hope you find it useful.

thanks,

alek

--
The best way to predict the future is to invent it - Alan Kay



Reply via email to