基于Axis的Web Service客户端调用

本文通过http://www.webxml.com.cn网站的2500多个城市天气预报来演示如何编写Web Serivce客户端.
第一步:基于服务端生成客户端要使用的类文件。
执行WebService工具文件夹下的"wsdl产生实体.bat"文件。
------wsdl产生实体.bat文件内容--------------
java -cp .\lib\activation.jar;.\lib\mail.jar;.\lib\axis.jar;.\lib\axis.jar;.\lib\commons-discovery-0.2.jar;.\lib\commons-logging-1.0.4.jar;.\lib\jaxrpc.jar;.\lib\log4j-1.2.8.jar.\log4j.properties;.\lib\saaj.jar;.\lib\wsdl4j-1.5.1.jar org.apache.axis.wsdl.WSDL2Java -s "[color=red]http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl[/color]"

pause;
----------文件结束-----------------------------
红色部分可以替换成你要访问的服务端路径。
执行后,会自动生成有路径的类文件。这是客户端调用的基础。
第二步:将生成的类文件连同文件夹一同考入工程中,同时将lib文件夹下的jar文件加入工程lib库。
第三步:编写调用类
public static void main(String[] args){
WeatherWebServiceSoapStub binding;
try{
binding = (WeatherWebServiceSoapStub) new WeatherWebServiceLocator().getWeatherWebServiceSoap();
} catch (javax.xml.rpc.ServiceException jre) {
if (jre.getLinkedCause() != null)
System.out.println("binding err");
jre.getLinkedCause().printStackTrace();
throw new junit.framework.AssertionFailedError(
"JAX-RPC ServiceException caught: " + jre);
} try {
String[] result = binding.getWeatherbyCityName("上海").getString();
System.out.println("上海未来三天的天气情况");
for(String r:result){
System.out.print(r);
}

} catch (Exception e) {
System.out.println("服务端出现问题,请修改");
e.printStackTrace();

}
}
//细心的朋友请注意类名的特点,它有助于你编写任何WebService客户端
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值