使用Axis2创建一个Web Service的客户端

去年一年一直在开发Web Service,而新的项目也同样是一个Web Service,但是工作一直集中在服务段的开发,对于Axis的应用也一直把它当作一个容器而已。虽然也改过Axis的一些代码,但是对它的了解基本上都停留在皮毛上。而自己写的 JUnit测试也因为是在同一台机器上,而且service和client的开发语言都是java,而与实际的客户端开发存在着一些差距。

最近在CSDN上翻帖子的时候看到有些人问如何开发一个Web Service的客户端,自己也作了一下粗浅的了解,同时应用Axis2的客户端自动生成功能,生成了一个客户端。

具体操作如下(Window XP):

1、下载解压缩axis2。前提是已经安装好了jdk并设置好了JAVA_HOME系统变量。

2、添加 AXIS2_HOME系统变量,同时把bin目录放在path中。

3、到提供web service的网址下在wsdl,我使用的例子是http://www.webservicex.net/globalweather.asmx?WSDL,这里要注意,因为我们可以看到,每行前面都有一个短线,所以需要我们查看源代码,然后把源代码保存为weather.wsdl。

4、然后在工程目录下,运行以下DOS命令
>WSDL2Java -uri resources/weatherservice.wsdl -p src -d xmlbeans -s -o build/client

这是我们就可以看到Axis2生成了很多文件和文件夹,这里就不一一介绍,有兴趣地可以自己研究一下。

为了测试生成的结果,我们继续以下的步骤,而在开发过程中,就应该根据自己的实际项目,进行处理。

5、在刚才声称目录的文件夹中建立Eclipse工程。把Axis2的库引入到项目中。这时,应该项目中没有错误。

6、把resources目录包含的项目的类目录中。

7、找到GlobalWeatherStub类,在其中添加main方法如下:
     static   public   void  main(String[] args) {
        
try{
            GlobalWeatherStub sws 
= new GlobalWeatherStub();
            GetCitiesByCountryDocument gcbcd 
= GetCitiesByCountryDocument.Factory.newInstance();
            gcbcd.addNewGetCitiesByCountry();
            gcbcd.getGetCitiesByCountry().setCountryName(
"china");
            GetCitiesByCountryResponseDocument response 
= sws.GetCitiesByCountry(gcbcd);
            System.out.println(response.getGetCitiesByCountryResponse().getGetCitiesByCountryResult());
        }
catch(AxisFault af){
            af.printStackTrace();
        }
catch(RemoteException re){
            re.printStackTrace();
        }

    }
 


运行GlobalWeatherStub类,我们就可以看到Eclipse在控制板中打印出来的城市列表了。


版权所有: idilent 网站转载请注明作者并链接到http://blog.csdn.net/idilent,
其他转载方式请与作者联系(idilent@yahoo.com.cn)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值