Welcome 微信登录

首页 / 操作系统 / Linux / Java 调用 WebService 客户端代码 含通过代理调用

WebService的调用,常用的大约有3种方式:    1、使用Axis调用    2、使用XFire调用    3、使用CXF调用    项目中,采用axis进行调用,记录如下,备忘:    ps:想当年的时候是用的xfire方式调用的,结果没做记录,现在已经完全记不得怎么玩了。所以说要多写博客啊 T_T   版本说明:        aixs版本:axis-bin-1_4.zip        java环境略    第一步:确保wsdl文件可用,文中为获取到sendSmsService.wsdl,当然url的也行。    第二步:执行生成客户端代码的脚本。脚本内容为:set Axis_Lib=D:axis-1_4libset 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~