AXIS 客户端的生成

本文介绍如何使用AXIS工具及wsdl2java脚本生成WebService客户端代码。通过配置JAVA_HOME和AXIS_HOME等环境变量,并运行wsdl2java工具,自动生成客户端所需的Java类文件。最终通过示例代码展示如何调用生成的服务接口。

这里使用 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());
		}
		

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值