本帖最后由 西安Java组 于 2018-1-24 14:45 编辑
WebService(CXF)实现天气预报查询如果我们想在自己的网站上添加天气预报小功能,我们就需要使用WebService技术来实现从中国气象局获取天气内容来显示。 那要想使用WebService,首先我们先来了解下什么是WebService? 通过百度我们来获取WebService的详细介绍: 了解WebService的相关概念以后,接下来我们可以通过使用CXF框架来完成WebService的相关请求,那么什么是CXF?我们需要接着通过百度来解决: 其中JAX-WS是CXF中的一种实现方式,关于这种实现方式,有几个概念需要我们来解决下, WSDL: Web Services Description Language (WebServices的描述语言) SOAP: Simple Object Access Protocol(简单对象访问协议) HTTP: HyperText Transfer Protocol(超文本传输协议) XML: Extensible Markup Language(可扩展标记语言)
清楚上述概念后,接下来我们就开始用用WebService的CXF中的JAX-WS方式来实现天气预报的查询: 步骤一: 步骤二: 步骤三: 将CXF的bin目录配置到电脑的环境变量中, 步骤四: 打开cmd 输入wsdl2java –d 生成代码路径–client wsdl路径,入下图 当按回车键的时候,会报一个错误,如下 出现此错误的原因是因为天气预报服务端是由于要调用的WebService是用.net写的,这个是Java调用net的webservice都有的问题,那该如何解决? 将该配置文件中的,所有出现的<s:element ref="s:schema" />全部删除掉,最终会得到一个xml文件 步骤五: 重复步骤四,在cmd重新使用wsdl2java命令
步骤六: 命令执行完成后,会在C:\Users\Windows\Desktop\wsdl目录下生成一个系列java源代码,如下: 步骤七: 在自己的项目中,将生成的源码导入, 在源代码中的WeatherWebServiceSoap_WeatherWebServiceSoap_Client.java中代码进行相关修改,
运行程序即可获取查询结果 InvokinggetWeatherbyCityName... 陕西 西安 57036 57036.jpg 2018/1/24 14:00:18 -3℃/1℃ 1月24日 中雪 东北风小于3级 15.gif 15.gif 今日天气实况:气温:-3℃;风向/风力:南风 1级;湿度:89%;紫外线强度:最弱。空气质量:优。 紫外线指数:最弱,辐射弱,涂擦SPF8-12防晒护肤品。 健臻·血糖指数:易波动,血糖易波动,请注意监测。 感冒指数:极易发,天气寒冷,温差大,湿度较大,易感冒。 穿衣指数:冷,建议着棉衣加羊毛衫等冬季服装。 洗车指数:不宜,有雪,雪水和泥水会弄脏爱车。 空气污染指数:优,气象条件非常有利于空气污染物扩散。 -6℃/0℃ 1月25日 小雪转阴 东北风3-4级转小于3级 14.gif 2.gif -5℃/-2℃ 1月26日 多云转阴 东北风转东风小于3级 1.gif 2.gif 西安是世界著名古都,历史上先后有西周、秦、西汉、新莽、东汉、西晋、前赵、前秦、后秦、西魏、北周、隋、唐等13个王朝在西安建都。这些王朝给古城西安留下了大量文化遗产。这些前人留下的名胜古迹为西安提供了极其珍贵的考古资料和丰富的旅游资源。西安境内共有重点文物保护单位314处,其中属国家级和省级的有84处;出土文物12万余件,其中不少是稀世国宝。西安气候属暖温带半湿润大陆性季风气候。四季分明,夏季炎热多雨,冬季寒冷少雨雪,春秋时有连阴雨天气出现。西安市及各郊县年平均气温13.1至13.4℃。年极端最高气温35至41.8℃;极端最低-16至-20℃。全年以7月最热,月平均气温26.1至26.3℃,月平均最高气温32℃左右;1月最冷,月平均气温-0.3至-1.3℃,月平均最低气温-4℃左右,年较差达26至27℃。降水年际变化很大,多雨年和少雨年雨量差别很大,两者最大差值可达590mm。降水的季节分配也极不均匀,有78%的雨量集中在5-10月,其中7-9月的雨量即占全年雨量的47%,且时有暴雨出现。年平均相对湿度70%左右。年平均风速1.8m/s,全年盛行风向为东北风。西安是中国北方中西部最大的加工工业基地,最大的商贸中心,又是丝绸之路的起点。丝绸之路如今已成为沟通中外交往的交通大道,是一条文明之路,友谊之路,商贸之路和文化旅游之路。
|