WebService 的调用,常用的大约有3种方式
1、使用Axis调用
2、使用XFire调用
3、使用CXF调用
项目中,采用axis进行调用,记录如下
版本说明:
aixs版本:axis-bin-1_4.zip
Java环境略
第一步:确保wsdl文件可用,文中为获取到sendSmsService.wsdl,当然url的也行。
第二步:执行生成客户端代码的脚本。脚本内容为:
set Axis_Lib=D:\axis-1_4\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=.
set Package=info.jyzh.wap.liaoning.push
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java sendSmsService.wsdl -o%Output_Path% -p%Package% -t
#查看WSDL2Java的使用帮助#%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -help
OK,至此,客户端代码就生成出来了。还带了一个单元测试哦。
实际工作中,碰到以下情况,客户端不能直接连上webservice服务器,中间被强大的代理服务器挡住了。如下图:
为此,修改生成的代码,本次是在SendMmsServiceImplServiceSoapBindingStub中作修改,如下:
static {
AxisProperties.setProperty("http.proxyHost","88.88.88.88");
AxisProperties.setProperty("http.proxyPort","8080");
AxisProperties.setProperty("http.proxyUser","asp\\yy");
AxisProperties.setProperty("http.proxyPassword","123456");
_operations = new org.apache.axis.description.OperationDesc[1];
_initOperationDesc1();
}
如此,便可以通过代理调用webservice~