webservice通信调用天气预报接口实例
转载:http://www.cnblogs.com/warrior4236/p/5668449.html
一:环境搭建
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 }

五:得到结果

webservice通信调用天气预报接口实例的更多相关文章
- 5. webservice通信调用天气预报接口实例
转自:https://blog.csdn.net/xiejuan6105/article/details/78452605 一:环境搭建 1:新建一个java project工程weatherInf ...
- 关于Silverlight调用天气预报接口问题
问题:因Silverlight客户端不能直接调用webservice接口(外网天气接口),调用会出现跨域访问的问题,即使添加了跨域文件也不好使.解决方法如下 解决方法一:1.在服务端建立一个wcf服务 ...
- java调用天气预报接口案例
免费天气接口:http://mobile.weather.com.cn/data/sk/城市ID.html 例如: http://mobile.weather.com.cn/data/sk/10124 ...
- LoadRunner通过webservice协议调用WSDL接口时,返回值不正确
有可能是某些传参空的值导致的. 解决办法:注释掉空值传参.或者将其值转变为true ”ProductIDSpecified=true“,
- 基于JAVA的全国天气预报接口调用示例
step1:选择本文所示例的接口"全国天气预报接口" url:https://www.juhe.cn/docs/api/id/39/aid/87step2:每个接口都需要传入一个参 ...
- 【转载】C#调用国家气象局天气预报接口
一.需求 最近,刚好项目中有天气预报查询功能的需求,要求录入城市名称,获取该城市今日天气信息及相关气象生活辅助信息等. 例如:查询北京市天气 结果为: 今日北京天气:15℃~5℃ 阵雨转阴,北风3-4 ...
- C#调用国家气象局天气预报接口
原文:C#调用国家气象局天气预报接口 一.需求 最近,刚好项目中有天气预报查询功能的需求,要求录入城市名称,获取该城市今日天气信息及相关气象生活辅助信息等. 例如:查询北京市天气 结果为: 今日北京天 ...
- jQuery Ajax方法调用 Asp.Net WebService、WebMethod 的详细实例代码
将以下html存为ws.aspx <%@ Page Language="C#" AutoEventWireup="true" %> <scri ...
- VB调用WebService(SOA2.0接口)(直接Post方式)并解析返回的XML
SOA 2.0接口 Function GetDepartmentCode(reqDeptCode) Dim soaRequestXML : soaRequestXML = "" D ...
随机推荐
- BestCoder Round #89 02单调队列优化dp
1.BestCoder Round #89 2.总结:4个题,只能做A.B,全都靠hack上分.. 01 HDU 5944 水 1.题意:一个字符串,求有多少组字符y,r,x的下标能组成等比数列 ...
- python练习
创建一个简单的姓名和编号系统,让用户输入一组人的姓名和编号,实现提供按照编号或姓名排序输出的功能. nums = [] names = [] Afternums = [] Afternames = [ ...
- PHP伪静态
伪静态 从形式上看是一个静态地址,实际上还是访问的动态地址, 比如:访问:http://www.abc.com/news-sport-id123.html 实际上是:http://www.abc.co ...
- c# winform编程之多线程ui界面资源修改总结篇
单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么 ...
- C++标准库 -- pair
头文件:<utility> 可访问属性: first 第一个值 second 第二个值 可访问方法: swap(pair) 和另外一个pair交换值 其他相关方法: make_pair(v ...
- PAT (Basic Level) Practise 1040 有几个PAT(DP)
1040. 有几个PAT(25) 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 字符串APPAPT中包含了两个单 ...
- TotalCommander 之 日常使用技巧
一. 常用操作 常用的操作如查看.复制.移动.删除退出已经在Total Commander下方列出,选择好文件后单击相应的按钮或是按下相应的快捷键(F3~F7)就可以完成操作.也可以像Windows中 ...
- window系统下,简单的FTP上传和下载操作
先假设有一FTP服务器,FTP服务器:qint.ithot.net,用户名:username 密码:user1234.在本地电脑D:盘创建一个文件夹"qint".将要上传的文件 ...
- 【转】Mecanim Animator使用详解
http://blog.csdn.net/myarrow/article/details/45242403 1. 简介 Mecanim把游戏中的角色设计提高到了一个新的层次,使用Mecanim可以通过 ...
- C++中函数变量布局小结
把布局作为一种信仰(Layout as Religion). ...