微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用天气预报WebService

天气预报wsdl地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

使用JDK1.6.0_21的命令工具wsimport 生成客户端代码,会发生一个错误


[WARNING] src-resolve.4.2: Error resolving component 's:schema'. It was detected
 that 's:schema' is in namespace 'http://www.w3.org/2001/XMLSchema',but compone
nts from this namespace are not referenceable from schema document 'file:/E:/wor
kspace/practical/WebServiceWeather/src/com/weather/wsdl.xml#types?schema1'. If t
his is the incorrect namespace,perhaps the prefix of 's:schema' needs to be cha
nged. If this is the correct namespace,then an appropriate 'import' tag should
be added to 'file:/E:/workspace/practical/WebServiceWeather/src/com/weather/wsdl
.xml#types?schema1'.
  line 70 of file:/E:/workspace/practical/WebServiceWeather/src/com/weather/wsdl
.xml#types?schema1

[ERROR] undefined element declaration 's:schema'
  line 70 of file:/E:/workspace/practical/WebServiceWeather/src/com/weather/wsdl
.xml

[ERROR] undefined element declaration 's:schema'
  line 117 of file:/E:/workspace/practical/WebServiceWeather/src/com/weather/wsd
l.xml

解决方法:将wsdl保存到本地,将所有的

<s:element ref="s:schema"/> 改成 <s:any minOccurs="2" maxOccurs="2"/> 并且将后面的

<s:any /> 删除

然后通过wsimport使用本地的wsdl生成java文件。如:
C:\Documents and Settings\Administrator>wsimport -s F:/ E:\workspace\practical\W
ebServiceWeather\src\com\weather\wsdl.xml

 如果还是报错,就将wsdl文件里面的<wsdl:documentation 节点全部删除。应该就没问题了


生成好java文件之后 。就可以调用了。

 

客户端调用代码

public class WeatherClient {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		WeatherWebService service = new WeatherWebService();
		WeatherWebServiceSoap weather = service
				.getPort(WeatherWebServiceSoap.class);
		//或者
		// WeatherWebServiceSoap weather =service.getWeatherWebServiceSoap();
		arrayofstring strs = weather.getWeatherbyCityName("上海");
		List<String> list = strs.getString();
		for (String s : list) {
			System.out.println(s);
		}
	}
}


打印结果

直辖市 上海 58367 58367.jpg 2013-4-12 16:35:32 13℃/22℃ 4月12日 晴 西北风3-4级转西南风3-4级 0.gif 0.gif 今日天气实况:气温:19℃;风向/风力:东北风 1级;湿度:43%;空气质量:良;紫外线强度:中等 穿衣指数:建议着薄外套、开衫牛仔衫裤等服装。年老体弱者应适当添加衣物,宜着夹克衫、薄毛衣等。 过敏指数:天气条件极易诱发过敏,易过敏人群尽量减少外出,外出宜穿长衣长裤并佩戴好眼镜和口罩,外出归来时及时清洁手和口鼻。 运动指数:天气较好,但因风力稍强,户外可选择对风力要求不高的运动,推荐您进行室内运动。 洗车指数:适宜洗车,未来持续两天无雨天气较好,适合擦洗汽车,蓝天白云、风和日丽将伴您的车子连日洁净。 晾晒指数:天气不错,适宜晾晒。赶紧把久未见阳光的衣物搬出来吸收一下太阳的味道吧! 旅游指数:天气晴朗,风稍大,但温度适宜,是个好天气哦。很适宜旅游,您可以尽情地享受大自然的无限风光。 路况指数:天气较好,路面比较干燥,路况较好。 舒适度指数:温度适宜,风力不大,您在这样的天气条件下,会感到比较清爽和舒适。 空气污染指数:气象条件有利于空气污染物稀释、扩散和清除,可在室外正常活动。 紫外线指数:属中等强度紫外线辐射天气,外出时建议涂擦SPF高于15、PA+的防晒护肤品,戴帽子、太阳镜。 14℃/26℃ 4月13日 晴 西南风4-5级 0.gif 0.gif 12℃/25℃ 4月14日 多云 西南风3-4级转南风3-4级 1.gif 1.gif 上海简称:沪,位置:上海地处长江三角洲前缘,东濒东海,南临杭州湾,西接江苏,浙江两省,北界长江入海,正当我国南北岸线的中部,北纬31°14′,东经121°29′。面积:总面积7823.5平方公里。人口:人口1000多万。上海丰富的人文资源、迷人的城市风貌、繁华的商业街市和欢乐的节庆活动形成了独特的都市景观。游览上海,不仅能体验到大都市中西合壁、商儒交融、八方来风的氛围,而且能感受到这个城市人流熙攘、车水马龙、灯火璀璨的活力。上海在中国现代史上占有着十分重要的地位,她是中国共产党的诞生地。许多震动中外的历史事件在这里发生,留下了众多的革命遗迹,处处为您讲述着一个个使人永不忘怀的可歌可泣的故事,成为包含民俗的人文景观和纪念地。在上海,每到秋祭,纷至沓来的人们在这里祭祀先烈、缅怀革命历史,已成为了一种风俗。大上海在中国近代历史中,曾是风起云涌可歌可泣的地方。在这里荟萃多少风云人物,散落在上海各处的不同住宅建筑,由于其主人的非同寻常,蕴含了耐人寻味的历史意义。这里曾留下许多革命先烈的足迹。瞻仰孙中山、宋庆龄、鲁迅等故居,会使您产生抚今追昔的深沉遐思,这里还有无数个达官贵人的住宅,探访一下李鸿章、蒋介石等人的公馆,可以联想起主人那段显赫的发迹史。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐