调用Axis1.x布署的WebService的问题

前两天项目中需要与其它厂商进行接口互连。对方采用的是Sun Server、Tomcat5.5、JDK5、Axis1.4布署的WebService.在互连的过程中,却遇到了一些问题。WebService本身是标准化的,调用也相对简易。一般JAVA语言流行的WeService开源的项目有:Xfire\Axis\CFX。下面讲讲过程:

 

我先用Xfire根据WSDL文件,生成STUB的方式来调用,结果却总是无法验证WSDL的XML内容。然后又改成用Axis1.4来调用,可以调用。代码如下:

代码已删除

 

 

以上的代码通过Axis1.4的API能够正常调用WEBSERIVSE。

但总是不能尽人意,由于项目中用了Axis2,而Axis1.4API与Axis2的API放在同一项目LIB中有兼容性问题。面对已经调用好的服务因为这个冲突问题而且不得不重新做,真是让人无奈,只好将Axis1.4中的调用改成Axis2的调用。

 

去下载Axis2的包:http://ws.apache.org/axis2/download/1_4/download.cgi

下载完成后,解压,axis2-std-1.0-bin.zip,进到axis2-1.4\bin目录下。新建一个.bat批处理文件。代码如下:

 

wsdl2java.bat -uri http://192.168.1.1:8080/simpass/services/conBuyCommService?wsdl -o D:\opensource\Axis2\axis2-1.4-bin\axis2-1.4\bin -p cn.com.wsclient

 

-url 后面的是WebService地址:

http://192.168.1.1:8080/simpass/services/conBuyCommService?wsdl

 

-o 是输出的路径:

-o D:\opensource\Axis2\axis2-1.4-bin\axis2-1.4\bin

-p 是生成的包路径:

 -p cn.com.wsclient

 

执行后:会在bin目录下生成一个src目录。进去后可以看到,生成了cn.com.wsclient包,其中有两个文件:

 

XXServiceServiceCallbackHandler.java

XXServiceServiceStub.java

 

这两个文件就是生成的stub文件。在工程中导入axis2-std-1.0-bin.zip解压后的lib里的包。

再新建一个测试类,来测试一下:

代码已删除

 

 

 

测试OK

 

Axis1.x中比较过时,有些与与日俱增的标准化不相符,有兼容性问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值