前通过传智的视频自学了webservice的基本使用,也了解到webservice就是一种跨编程语言跨操作系统平台的远程调用技术。

对于这些理论知识在这里也不再做过多的解释,本次主要就是记录与分享使用cxf 框架完成远程调用气象局提供的接口,来实现天气查询的全过程。

1、项目搭建

  * 创建一个maven项目(方便引入包的依赖,不需要再去手动的添加包)

  * 配置pom.xml 中的依赖

  <build>
    <plugins>
      <!-- 设置jdk版本 -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
          <encoding>utf-8</encoding>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <!-- 引入cxf框架的依赖 -->
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-transports-http</artifactId>
      <version>3.2.6</version>
    </dependency>
    <!-- 引入junit测试包的依赖 -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
    </dependency>
  </dependencies>

------------------------------------   分隔线  -----------------------------------------------

  * 引入依赖后需要更新一个maven项目(因为修改了jdk版本,需要更新后才会生效),操作如下:

    在maven项目上单击右键  --> maven --> Update Project...  (选择需要更新的maven项目即可)

 2、下载wsdl文件

  wsdl地址  http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

  * 如果使用java的话需要将该文件下载下来,因为如果直接在控制台使用wsimport会抛出异常(已经过多次测试)

  * 操作步骤:

    * 将地址复制到浏览器中打开,会出现如下这个页面

      

    * 同样的在页面中单击右键,另存为,然后保存到桌面即可

      

    *  保存到桌面以后,我们需要将这个xml文件引入到我们的项目中来(直接复制进来就可以了)

    * 注意:这一点非常重要,我们需要对文件中的内容进行修改,否则将无法解析

      首先打开xml文件,然后搜索   <s:element ref="s:schema" />   如果存在,那么就直接把他out掉

    

    

    * 做完后,关闭xml配置文件,找到你需要将将代码解压到的目录(简单说,就是例如我现在要将代码解析到我的src/main/java),单击右键选择 properties,复制location地址

         

    

    * 然后到控制台中进入到我们复制的地址

    * 确定后,结果如下:

      

    * 解析完成后,再回到我们的项目中来,刷新项目就可以看到生成的代码

    

3、 测试

    * 创建一个测试类,编写如下代码

    

    

    * 运行测试

      

 ----------------------------------------------------------   分隔线   -------------------------------------------------------

  整个简单的案例到这里也就结束了,第一次写博客,写得不好,还望见谅,后续我也将持续的更新自己在学习中的一些案例。

 

    

webservice之实现天气预报的更多相关文章

  1. .net请求Webservice简单实现天气预报功能

    很久没有接触Webservice的知识,今天稍微复习了一下关于webservice,简单做了一个天气预报的功能,虽然界面丑的厉害,但功能算是实现了,以下是效果展示. 这东西没什么难点,只是天气预报的功 ...

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

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

  3. C#调用WebService接口实现天气预报在web前端显示

    本文使用web (C#)调用互联网上公开的WebServices接口: (http://www.webxml.com.cn/WebServices/WeatherWebService.asmx)来实现 ...

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

    转自:https://blog.csdn.net/xiejuan6105/article/details/78452605 一:环境搭建 1:新建一个java project工程weatherInf ...

  5. WebService的讲解 和 CXF 的初步使用

    1. 复习准备 1.1. Schema约束 几个重要知识: namespace 相当于schema文件的id targetNamespace属性 用来指定schema文件的namespace的值 xm ...

  6. 调用免费的web service(天气预报)

    ”免费WebService”, 找到提供天气预报Webservice的网络地址 http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl 在url ...

  7. C#调用WebService实现天气预报

    http://zhangkui.blog.51cto.com/1796259/497324/ 本文使用Winform (C#)调用互联网上公开的WebServices(http://www.webxm ...

  8. Delphi7 客户端调用WebService(天气预报)

    客户程序:第一步:新建一个Application. 第二步:File----->New----->Other------>WebServices----->WSDL Impor ...

  9. C#调用WebService实现天气预报 http://www.webxml.com.cn

     C#调用WebService实现天气预报 2011-02-21 14:24:06 标签:天气预报 休闲 WebServices 职场 C# 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始 ...

随机推荐

  1. JS中for循环“全局”变量的传递

    在项目中,遇到了一个问题,描述如下:我们在联动下拉框中,选中值后,会在隐藏的控件中记录一下选中值的主键(展示的是名称).但是,在取消选中的时候,没有把隐藏控件中的value值清空,导致在提交的时候,有 ...

  2. Spring_002 依赖注入方式实现

    继续写我们的第一个Spring程序,这次我们使用依赖注入的方式实现程序 第一步,建立我们的Spring_002程序,并在程序中添加BookDao.java.BookDaoImpl.java.BookS ...

  3. 五、request模块

    描述:requests是python的一个第三方HTTP(Hypertext Transfer Protocol,超文本传输协议)库,它比python自带的网络库urllib更加简单.方便和人性化:使 ...

  4. Yii2.0 连接数据库

    打开数据库配置文件common\config\main-local.php

  5. 安卓之button按钮

    一.需求 短按按钮时显示  您点击了控件:Button 长按按钮时显示  您点击了控件:Button 二.布局xml文件 <?xml version="1.0" encodi ...

  6. springboot学习4使用日志:logback

    springboot学习4使用日志:logback 一.基本知识说明 SpringBoot默认使用logback作为日志框架 ,所以引入起步依赖后就可以直接使用logback,不需要其他依赖. Spr ...

  7. php 基础 自动类型转换

    1.自动类型转换:表示运算的时候,Boolean,Null,String等类型,会先自动转为Integer或Float类型 null-->0 true-->1 false-->0 S ...

  8. matplotlib显示AttributeError: 'module' object has no attribute 'verbose'

    解决办法:file-settings-tools-python scientific,将show plots in toolwindow前面的对号去掉即可.

  9. 【代码学习】PYHTON 元组

    Python的元组与列表类似,不同之处在于元组的元素不能修改.也可进行分片 和 连接操作. 元组使用小括号,列表使用方括号. 一.访问元组 #coding=utf-8 Tuple = ('name', ...

  10. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 网格系统实例:响应式的列重置

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...