文件目录结构
├─apache-ant-1.9.0
├─axis2-1.5.1
├─axis2-1.6.2
├─jre6
└─wsdl2java
在wsdl2java文件夹下创建如下文件
wsdl2java.cmd
wsdl2java.xml
[wsdl2java][hide].reg
[wsdl2java][show].reg
文件内容:【[wsdl2java][hide].reg】
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT.wsdl]
[-HKEY_CLASSES_ROOTwsdlfile]
【[wsdl2java][show].reg】
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT.wsdl]
@="wsdlfile"
[HKEY_CLASSES_ROOTwsdlfileshellwsdl2java4all]
@="wsdl2java4all"
[HKEY_CLASSES_ROOTwsdlfileshellwsdl2java4allcommand]
@="cmd.exe /s /c D:/test/wsdl2java/wsdl2java.cmd %1 D:/test/wsdl2java codegen.all"
[HKEY_CLASSES_ROOTwsdlfileshellwsdl2java4client]
@="wsdl2java4client"
[HKEY_CLASSES_ROOTwsdlfileshellwsdl2java4clientcommand]
@="cmd.exe /s /c D:/test/wsdl2java/wsdl2java.cmd %1 D:/test/wsdl2java codegen.client"
【wsdl2java.xml】
<?xml version="1.0" encoding="UTF-8"?>
<project name="CodegenExample" default="codegen.all" basedir=".">
<property environment="env" />
<property name="axis2.home" value="${env.AXIS2_HOME}" />
<path id="codegen.class.path">
<pathelement path="${java.class.path}"/>
<fileset dir="${axis2.home}">
<include name="lib/**.jar"/>
</fileset>
</path>
<taskdef name="codegen"
classname="org.apache.axis2.tool.ant.AntCodegenTask"
classpathref="codegen.class.path" />
<target name="codegen.all">
<codegen wsdlfilename="${codegen.wsdl}"
output="${codegen.dest}"
serverside="true"
serversideinterface="true"
generateservicexml="true" generateAllClasses="true">
</codegen>
<ant antfile="build.xml" dir="${codegen.dest}" />
<copy todir="${codegen.dest}/..">
<fileset dir="${codegen.dest}/build/lib" includes="**/*.jar"/>
</copy>
<!--delete dir="${codegen.dest}" /-->
</target>
<target name="codegen.client">
<codegen wsdlfilename="${codegen.wsdl}"
output="${codegen.dest}" unwrap="true">
</codegen>
<replace dir="${codegen.dest}" defaultexcludes="yes" encoding="UTF-8">
<include name="**/*.java"/>
<replacefilter token="_service.addOperation(__operation)" value="_service.addOperation(__operation);__operation.setSoapAction("")"/>
<replacefilter token="_operationClient.getOptions().setAction(" value="//_operationClient.getOptions().setAction(" />
</replace>
<ant antfile="build.xml" dir="${codegen.dest}" />
<copy todir="${codegen.dest}/..">
<fileset dir="${codegen.dest}/build/lib" includes="**/*.jar"/>
</copy>
<delete dir="${codegen.dest}" />
</target>
</project>
【wsdl2java.cmd】
set ANT_HOME=%2..apache-ant-1.9.0
set AXIS2_HOME=%2..axis2-1.5.1
set PATH=%ANT_HOME%bin;%AXIS2_HOME%bin;%PATH%
set PARAM=%1
ant %3 -f %2wsdl2java.xml -Dcodegen.wsdl=%PARAM% -Dcodegen.dest=%PARAM:~0,-5%