项目中需要调用接口,是 webservice 的接口。项目提供了 WSDL 文件以及接口的 API. 采用的 AXIS1.4 的 WS 引擎。
调用的第一步是生成需要调用的客户端文件。
1. 首先 下载 axis-bin-1_4.zip. 我是解压生成到 D:/JavaTools/axis-1_4 目录下
2. 编写生成客户端调用的代码。 AXIS 提供了 BAT 的命令。
-- 这个是 WSDL 文件存在本地目录下的
set Axis_Lib=D:/JavaTools/axis-1_4/lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=D:/JavaTools/axisTest/src
set Package=cn.com.cpic.service.epolicyService
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% D:/JavaTools/EPolicyService.wsdl
pause
-- 这个是 WSDL 文件放于网上的
set Axis_Lib=D:/JavaTools/axis-1_4/lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=D:/JavaTools/axisTest/src
set Package=cn.com.cpic.epolicy.webservices.EPolicyBean
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% http://10.192.18.124:8080/epolicy /services/EPolicyService?wsdl
pause
写完之后,保存为 *.bat 文件即可。双击 就可以生成你需要的文件。
生成的文件名称为:
EPolicyBean.java
EPolicyService_PortType.java
EPolicyServiceService.java
EPolicyServiceServiceLocator.java
EPolicyServiceSoapBindingStub.java
总而言之:就是一个 BAT 批处理命令 生成对应路径下的客户端代码 然后进行调用。
调用的代码如下 :
String ePolicyServiceService_address= "http://10.192.18.124:8080/epolicy/services/EPolicyService" ; EPolicyServiceServiceLocator ePolicyServiceService= new EPolicyServiceServiceLocator(); ePolicyServiceService.setEPolicyServiceEndpointAddress(ePolicyServiceService_address); EPolicyService_PortType port=ePolicyServiceService.getEPolicyService(); ePolicyBean=port.services(ePolicyBean); return ePolicyBean;
返回的即约定的 BEAN.