首页 > 学院 > 开发设计 > 正文

webservice学习笔记(3)--调用天气

2019-11-08 01:15:23
字体:
来源:转载
供稿:网友

1.找到提供天气预报Webservice的网络地址

http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx

2. 使用eclipse的web service浏览器访问

3. 客户端编码方式访问

– 借助命令工具自动生成客户端代码

– 借助生成的代码编写请求代码

4.进入要生成项目文件夹下的src目录,在该目录下使用wsimport -keep urt(文件.wsdl),wsimport是jdk自带的工具

E:/Users/wuhui/Workspaces/MyEclipsePRofessional2014/weather_webservice/src>"D:/Program Files/java/jdk1.7.0_17/bin/wsimport.exe"  -keep  E:/Users/wuhui/Workspaces/MyEclipseProfessional2014/weather_webservice/weather.wsdl

生成后的代码如图:

5.客户端测试代码:

/**      * @文件名称: ClientTest.java    * @描述: TODO   * @作者:  一叶扁舟(skiff) * @时间:2017年2月21日 下午2:22:39   * @版本:V1.0      */ package cn.skiff.www.webservice.weather.client;import java.util.List;import cn.com.webxml.ArrayOfString;import cn.com.webxml.WeatherWS;import cn.com.webxml.WeatherWSSoap;/**   * @类功能说明:     * @作者: 一叶扁舟 (skiff) * @创建时间:2017年2月21日 下午2:22:39   * @版本:V1.0   */public class ClientTest {	public static void main(String[] args) {		WeatherWS weatherWS = new WeatherWS();		WeatherWSSoap weatherWSSoap = 	weatherWS.getWeatherWSSoap();		ArrayOfString weather = weatherWSSoap.getWeather("福州", null);		List<String> list = weather.getString();		System.out.println(list);	}}

6.说明: 直接生成客户端代码会抛异常, 无法生成客户端代码, 解决办法:

(1). 将对应的wsdl文档保存到本地

(2). 修改wsdl文档的部分内容:

 <s:element ref="s:schema" /><s:any /> 替换成 <s:any minOccurs="2" maxOccurs="2"/>

备注: 这个是Java调用net的webservice都有的问题


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表