这里使用 AXIS 开发WebService 客户端。
使用提供的工具 wsdl2java
首先,我们根据服务器端的地址得到 wsdl 代码。
把这个代码复制下来,存入文件 比如 auditEPolicy.wsdl
这里我们制作一个脚本来执行。
@echo off set AXIS_HOME=D:\workspace\LiveTestService rem set AXIS_HOME cd %AXIS_HOME% rem echo current dir=%cd% set JAVA_HOME=D:\Java\jdk1.5.0 rem set JAVA_HOME set CLASSPATH=%JAVA_HOME%\lib\tools.jar set CLASSPATH=.;%CLASSPATH% set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\WebRoot\WEB-INF\lib\activation.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\WebRoot\WEB-INF\lib\axis.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\WebRoot\WEB-INF\lib\axis-ant.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\WebRoot\WEB-INF\lib\commons-discovery-0.2.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\WebRoot\WEB-INF\lib\commons-logging-1.0.4.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\WebRoot\WEB-INF\lib\jaxrpc.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\WebRoot\WEB-INF\lib\log4j-1.2.8.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\WebRoot\WEB-INF\lib\mail.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\WebRoot\WEB-INF\lib\saaj.jar set CLASSPATH=%CLASSPATH%;%AXIS_HOME%\WebRoot\WEB-INF\lib\wsdl4j-1.5.1.jar rem set CLASSPATH set _RUNJAVA="%JAVA_HOME%\bin\java" set _RUNJAVAW="%JAVA_HOME%\bin\javaw" set _RUNJDB="%JAVA_HOME%\bin\jdb" set _RUNJAVAC="%JAVA_HOME%\bin\javac" set OUTPUT_PATH=%AXIS_HOME%\src set SRC_PACKAGE=com.cpic.ryx.webservice.auto set NS_PACKAGE_AUTO=http://wss.cpic.com.cn/ryx/webservice/auto set WSDL_FILE_LOCATION=%AXIS_HOME%\WebRoot\deploy\auditEPolicy.wsdl set wsdl2java=%_RUNJAVA% org.apache.axis.wsdl.WSDL2Java echo 开始执行wsdl2java... %wsdl2java% -N%NS_PACKAGE_AUTO%=%SRC_PACKAGE% -o%OUTPUT_PATH% -D %WSDL_FILE_LOCATION% > aa.txt echo ...执行wsdl2java完成 pause
设置好 AXIS_HOME ,JAVA_HOME 等等 的路径。执行 脚本文件,就生成了客户端类文件。刷新工程后, 使用测试类 :
基本就是使用 Locator 去建立 bingding ,用 bingding 调用 接口的方法。
代码:
EPolicyServiceLocator locator=new EPolicyServiceLocator();
EPolicyServicePortSoapBindingStub binding=null;
try {
binding=(EPolicyServicePortSoapBindingStub)locator.getEPolicyServicePort();
HmEpolicyResponse hmrst = binding.createEPolicy(policyXML);
System.out.println(hmrst.getResponseXml()+hmrst.getEPolicyPDF());
} catch (Exception e) {
System.err.println(e.toString());
}