每次在控制台利用wsdl生成webservice java代碼,都要找腳本,修改,記又記不住。最近正好此類項目比較多,抽了點時間寫了個腳本,儲存為wsdl2java.cmd,并儲存到Windows/system32下,以後調用,直接在指令行執行下面的腳本即可:
wsdl2java http://localhost:8080/MyService/GetMessageService.asmx false com.dot618.myservice src
參數說明:
參數1 wsdl路徑,可以是本地路徑,也可以是http位址
參數2 是否生成服務端代碼,預設為false
參數3 包名,預設為gen
參數4 儲存的路徑名,預設為src
wsdl2java.cmd腳本:
@echo off
:Set JAVA_HOME=d:/Program/Java/jdk1.6.0_21
:Set AXIS_HOME=d:/Program/axis-1_4
if {%JAVA_HOME%}=={} (GOTO NOVAR)
if {%AXIS_HOME%}=={} (GOTO NOVAR)
echo using envionment variables:
echo JAVA_HOME=%JAVA_HOME%
echo AXIS_HOME=%AXIS_HOME%
SET URL=http://
SET SERVER_FLAG=
if {%1}=={} (GOTO ERROR) else (SET URL=%1)
if {%2}=={true} (Set SERVER_FLAG= --server-side --skeletonDeploy true)
if {%3}=={} (SET PACKAGE=gen) ELSE (SET PACKAGE=%3)
if {%4}=={} (SET OUTPUT=src) ELSE (SET OUTPUT=%4)
echo script is running:
echo "%JAVA_HOME%/bin/java -Djava.ext.dirs=%AXIS_HOME%/lib org.apache.axis.wsdl.WSDL2Java%SERVER_FLAG% %URL% -p %PACKAGE% -o %OUTPUT%"
%JAVA_HOME%/bin/java -Djava.ext.dirs=%AXIS_HOME%/lib org.apache.axis.wsdl.WSDL2Java%SERVER_FLAG% %URL% -p %PACKAGE% -o %OUTPUT%
echo.
echo success.
GOTO END
:ERROR
echo Axis 1.4 generate java client
echo [usage]
echo %0 [wsdl url] [if server-side] [package] [output]
:NOVAR
echo please export envionment variables JAVA_HOME and AXIS_HOME,then try again.
:END