博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5. webservice通信调用天气预报接口实例
阅读量:6427 次
发布时间:2019-06-23

本文共 2602 字,大约阅读时间需要 8 分钟。

转自:https://blog.csdn.net/xiejuan6105/article/details/78452605

一:环境搭建

1:新建一个java project工程weatherInf

2:引入相应的jar包

activation.jar

axis-ant.jar
axis.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
jaxrpc.jar
log4j-1.2.8.jar
mail.jar
saaj.jar
wsdl4j-1.5.1.jar

下载axis 1.4 src压缩包,解压后到webapp/web-info/lib下取包,具体路径如下:

http://download.csdn.net/detail/yyg64/5351114

其中mail.jar 以及 activation.jar 可到如下路径下载:

http://download.csdn.net/detail/dbhunter/398258

3:将天气预报接口wsdl文件拷贝到src目录下

http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

 

二:目录结构

 

三:根据wsdl文件生成客户端代码

wsdl文件——右键——web services——Generate Client,然后一路next到finish。

会生成如下客户端代码:

四:测试代码

1 /** 2  *  3  */ 4 package com.paic.services; 5 6 import java.rmi.RemoteException; 7 8 import javax.xml.rpc.ServiceException; 9 10 import cn.com.WebXml.WeatherWebServiceLocator; 11 import cn.com.WebXml.WeatherWebServiceSoapStub; 12 13 /** 14 * @author Administrator 15 * 16 */ 17 public class TestWeather { 18 public static void main(String[] args) throws ServiceException, 19 RemoteException { 20 WeatherWebServiceLocator locator = new WeatherWebServiceLocator(); 21 WeatherWebServiceSoapStub service = (WeatherWebServiceSoapStub) locator 22 .getPort(WeatherWebServiceSoapStub.class); 23 invokeGetSupportProvince(service); 24 System.out.println("..................."); 25 invokeGetSupportCity(service); 26 invokeGetWeatherByOneCity(service); 27 } 28 29 // 调用获取支持的省份、州接口 30 public static void invokeGetSupportProvince( 31 WeatherWebServiceSoapStub service) throws RemoteException { 32 String[] provices = service.getSupportProvince(); 33 System.out.println("总共" + provices.length + "个"); 34 int count = 0; 35 for (String str : provices) { 36 if (0 != count && count % 5 == 0) { 37 System.out.println(); 38 } 39 System.out.print(str + "\t"); 40 count++; 41 } 42 } 43 44 // 调用获取支持查询某个省份内的城市接口 45 public static void invokeGetSupportCity(WeatherWebServiceSoapStub service) 46 throws RemoteException { 47 String provinceName = "江苏"; 48 String[] cities = service.getSupportCity(provinceName); 49 System.out.println("总共" + cities.length + "个市"); 50 for (int i = 0; i < cities.length; i++) { 51 if (0 != i && i % 5 == 0) { 52 System.out.println(); 53 } 54 System.out.print(cities[i] + "\t"); 55 } 56 } 57 58 // 调用查询某个城市天气的接口 59 public static void invokeGetWeatherByOneCity( 60 WeatherWebServiceSoapStub service) throws RemoteException { 61 String cityName = "南京"; 62 String[] weatherInfo = service.getWeatherbyCityName(cityName); 63 for (String str : weatherInfo) { 64 System.out.println(str); 65 } 66 } 67 }

 

五:得到结果

转载于:https://www.cnblogs.com/sharpest/p/7851673.html

你可能感兴趣的文章
git管理(非常杂乱)
查看>>
【百度地图API】如何激发手机的高分辨率
查看>>
Java 通过对象方法名动态调用方法
查看>>
wordpress环境搭建
查看>>
D3绘制水平柱状图
查看>>
phpMyAdmin老出现登陆超时解决方法
查看>>
LVM创建以及使用
查看>>
echo详解
查看>>
Human interface guidelines
查看>>
SSH代理KEY转发
查看>>
[全球最详细] 《统一沟通-微软-实战》VS《统一沟通-微软-技巧》-51CTO
查看>>
《跟菜鸟学Cisco UC部署实战》-第 2 章 部署基本环境(一共12章,免费)
查看>>
linux系统安全设置
查看>>
golang 使用sql语句操作数据库的方法
查看>>
itext 中文乱码问题
查看>>
Lua4.0 正式开始
查看>>
我的友情链接
查看>>
Windows10如何开启鼠标显示指针轨迹
查看>>
配置H3C交换机实例(设置安全策略版,通过源IP地址对WEB登录用户进行控制)[连载之电子商务系统架构]...
查看>>
Mahout下个性化推荐引擎Taste介绍
查看>>