转自: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 }

五:得到结果

5. webservice通信调用天气预报接口实例的更多相关文章

  1. webservice通信调用天气预报接口实例

    转载:http://www.cnblogs.com/warrior4236/p/5668449.html 一:环境搭建 1:新建一个java project工程weatherInf 2:引入相应的ja ...

  2. 关于Silverlight调用天气预报接口问题

    问题:因Silverlight客户端不能直接调用webservice接口(外网天气接口),调用会出现跨域访问的问题,即使添加了跨域文件也不好使.解决方法如下 解决方法一:1.在服务端建立一个wcf服务 ...

  3. java调用天气预报接口案例

    免费天气接口:http://mobile.weather.com.cn/data/sk/城市ID.html 例如: http://mobile.weather.com.cn/data/sk/10124 ...

  4. LoadRunner通过webservice协议调用WSDL接口时,返回值不正确

    有可能是某些传参空的值导致的. 解决办法:注释掉空值传参.或者将其值转变为true ”ProductIDSpecified=true“,

  5. 基于JAVA的全国天气预报接口调用示例

    step1:选择本文所示例的接口"全国天气预报接口" url:https://www.juhe.cn/docs/api/id/39/aid/87step2:每个接口都需要传入一个参 ...

  6. 【转载】C#调用国家气象局天气预报接口

    一.需求 最近,刚好项目中有天气预报查询功能的需求,要求录入城市名称,获取该城市今日天气信息及相关气象生活辅助信息等. 例如:查询北京市天气 结果为: 今日北京天气:15℃~5℃ 阵雨转阴,北风3-4 ...

  7. C#调用国家气象局天气预报接口

    原文:C#调用国家气象局天气预报接口 一.需求 最近,刚好项目中有天气预报查询功能的需求,要求录入城市名称,获取该城市今日天气信息及相关气象生活辅助信息等. 例如:查询北京市天气 结果为: 今日北京天 ...

  8. jQuery Ajax方法调用 Asp.Net WebService、WebMethod 的详细实例代码

    将以下html存为ws.aspx <%@ Page Language="C#" AutoEventWireup="true" %> <scri ...

  9. VB调用WebService(SOA2.0接口)(直接Post方式)并解析返回的XML

    SOA 2.0接口 Function GetDepartmentCode(reqDeptCode) Dim soaRequestXML : soaRequestXML = "" D ...

随机推荐

  1. javascript的var声明变量和不用var声明变量在全局作用域的区别;

    在全局作用域下,使用var定义的变量不可以delete,没有var 定义的变量可以delete.也就说明隐含全局变量严格来说不是真正的变量,而是全局对象的属性,因为属性可以通过delete删除,而变量 ...

  2. IE模式下EasyUI Combobox无效问题

    近期开发过程中遇到IE浏览器Combobox无法正常加载问题. 经过一番百度说IE渲染过快导致页面渲染完了easyUI Combobox还没有加载.设置延迟加载后依旧无效. 后将input标签的Cla ...

  3. HDU 6315 Naive Operations(线段树+复杂度均摊)

    发现每次区间加只能加1,最多全局加\(n\)次,这样的话,最后的答案是调和级数为\(nlogn\),我们每当答案加1的时候就单点加,最多加\(nlogn\)次,复杂度可以得当保证. 然后问题就是怎么判 ...

  4. 紫书 例题8-16 UVa 1608 (递归)

    题意: 判断所给序列是否满足任意连续子序列中至少有一个出现一次的元素. 思路:在整体中找到一个只出现一次的元素, 然后在递归两边.因为两边的序列中有这个数那就满足要求, 所以就看剩下的序列漫步满足要求 ...

  5. python set元素访问

    python中集合set主要利用其唯一性,及并集|.交集&等操作,但不可以直接通过下标进行访问,必须访问时可以将其转换成list再访问 x={1,2,5} y=list(x) a=y[1] a ...

  6. yum下载的rpm包离线安装

    #修改yum设置,让rpm包缓存到本地 vi /etc/yum.conf #修改keepcache为1 keepcache=1 #清空yum缓存 yum clean all #安装你要离线安装的rpm ...

  7. 【BZOJ 1005】[HNOI2008]明明的烦恼(暴力化简法)

    [题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1005 [题意] 中文题 [题解] 一棵节点上标有序号的树会和一个prufer数列唯一对 ...

  8. 【转】Java集合间的相互转换

    下面代码演示了List<-->数组.List<-->Set.数组<-->Set.Map将键转化为Set.Map将值转化为Set.Map将值转化为List等集合常用转 ...

  9. TreeMap集合怎样依照Value进行排序

    ------- android培训.java培训.期待与您交流! ---------- 我们知道,TreeMap集合是依照Key进行排序的,怎样依照Value进行排序呢?如今有一个TreeMap集合 ...

  10. HDU 5319

    Painter Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Su ...