互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为例进行说明。

  气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server), 而各大站点的应用就去调用它们得到天气信息并以不同的样式去展示(WebService Client)。

调用免费的WebService获取天气预报信息

  1、在网络上查询免费的天气预报webservice的地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx ,浏览器访问结果如下:
    

  2、wsdl文件地址:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl
    

  3、新建一个java工程,使用wsimport工具自动生成客户端代码:
    创建java工程
      
    使用wsimport工具生成代码,如下:
      
    生成客户端代码报错,这个因为WebService服务端使用.net写的,生成java客户端代码报错。需要修改wsdl文件中的部分内容,操作如下:
      a.将对应的wsdl文档保存到本地
      

      b.修改wsdl文档的部分内容:将 <s:element ref="s:schema" /><s:any /> 替换成 <s:any minOccurs="2" maxOccurs="2"/>
      

      继续生成客户端代码,如下:
      ----------------------》

  4、编写客户端调用代码,如下:

 package com.test.ws.client;

 import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWS;
import cn.com.webxml.WeatherWSSoap; /**
* 调用WebService的客户端
* @author H__D
* @date 2017年8月3日 上午10:57:00
*
*/
public class WSClient { public static void main(String[] args) {
//创建一个用于产生WeatherWS实例的工厂,WeatherWS类是wsimport工具生成的
WeatherWS factory = new WeatherWS();
//通过工厂生成一个WeatherWSSoap实例,WeatherWSSoap是wsimport工具生成的
WeatherWSSoap weatherWSSoap = factory.getWeatherWSSoap();
System.out.println(weatherWSSoap.getClass()); //调用WeatherWSSoap的getWeather方法,获取天气信息
ArrayOfString weather = weatherWSSoap.getWeather("深圳", null);
for (String string : weather.getString()) {
System.out.println(string);
System.out.println("----------------");
} } }

  5、控制台输出如下:
    

调用免费的WebService获取手机号码归属地信息

  1、在网络上查询免费的手机号码归属地webservice的地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx ,浏览器访问结果如下:
    

  2、wsdl文件地址:http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl ,如下:
     

  3、新建一个java工程,使用wsimport工具自动生成客户端代码:
    a、新建一个java工程:
      
    b、使用wsimport生成客户端代码:

      ----------------》

  4、编写客户端调用代码,如下:

 package com.test.ws.client;

 import cn.com.webxml.MobileCodeWS;
import cn.com.webxml.MobileCodeWSSoap; /**
* 调用WebService的客户端
* @author H__D
* @date 2017年8月3日 上午11:13:39
*
*/
public class WSClient { public static void main(String[] args) {
//创建一个用于产生MobileCodeWS实例的工厂,MobileCodeWS类是wsimport工具生成的
MobileCodeWS factory = new MobileCodeWS();
//通过工厂生成一个MobileCodeWSSoap实例,MobileCodeWSSoap是wsimport工具生成的
MobileCodeWSSoap mobileCodeWSSoap = factory.getMobileCodeWSSoap();
System.out.println(mobileCodeWSSoap.getClass()); //调用MobileCodeWSSoap的getMobileCodeInfo方法,获取天气信息
String mobileCodeInfo = mobileCodeWSSoap.getMobileCodeInfo("151****1111", null);
System.out.println(mobileCodeInfo); }
}

  5、运行调用代码,控制台输出如下:
     

    
      

    

【WebService】调用第三方提供的webService服务(七)的更多相关文章

  1. WebService学习总结(四)——调用第三方提供的webService服务

    http://www.cnblogs.com/xdp-gacl/p/4260627.html 互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他 ...

  2. WebService学习--(四)调用第三方提供的webService服务

    互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...

  3. WebService学习总结——调用第三方提供的webService服务

    互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据. 气象中心的管理系统将收 ...

  4. WebService学习总结(三)--调用第三方提供的webService服务

    互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取电子邮箱验证和查询火车时刻表和天气预报 ...

  5. WebService-调用第三方提供的webService服务

    互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...

  6. 延迟调用或多次调用第三方的Web API服务

    当我们调用第三方的Web API服务的时候,不一定每次都是成功的.这时候,我们可能会再多尝试几次,也有可能延迟一段时间再去尝试调用服务. Task的静态方法Delay允许我们延迟执行某个Task,此方 ...

  7. 使用WebService调用第三方服务

    场景 某个系统服务由第三方提供,我方要使用到这个这个服务,就可以使用WebService的方式. 什么是WebService 关于什么WebService,官方是这么解释的: Web service是 ...

  8. 调用别人提供的WebService

    在开发过程中,许多时候需要使用到别人提供的WebService接口,使用其中的方法. 在调用别人提供的接口时,会得到接口使用的文档,其中包括接口的网络地址及方法作用等. 找到WebService的ws ...

  9. 根据第三方提供的webservice地址获取文件信息

    import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.en ...

随机推荐

  1. 【Django】关于前端配置

    今天在网上课程了学了一下前端配置,感觉搭这个环境安装了不少东西,自己都有点混乱,现在整理一下思路: 1.nvm 即Note Version Manager用来管理node版本的工具: windows版 ...

  2. 直接修改java的war包

    会出现 jsp特征类型不对   descriptior UTF8  与ntfs 可以用jar命令来解决. 1.将war包移动到一个干净的路径下,使用jar xvf ROOT.war命令将war进行解压 ...

  3. 进程实时监控pidstat命令详解

    pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存.设备IO.任务切换.线程等.pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行 ...

  4. Django、Flask、Tornado的比较

    一:常用请求参数的接收 Django中: request.GET/POST Tornado中: self.get_query_argument()/get_query_arguments() self ...

  5. VM虚拟机 安装linux系统

    首先需要下载VMware10 和CentOS-6.4,我这边提供了百度网盘,可供下载链接:https://pan.baidu.com/s/1vrJUK167xnB2JInLH890fw 密码:r4jj ...

  6. mac item2 ssh

    一.常规ssh登录流程 ssh登陆有三个参数,主机名,用户名,用户密码,流程都是一样. 1.ssh 用户名@主机名 2.返回包含(yes/no)的字符串,此时输入 “yes" 3.然后再返回 ...

  7. f5售后查询

    登录: https://secure.f5.com/validate/validate.jsp http://boochem.blog.51cto.com/628505/633907

  8. web项目no such method exception

    昨天更新包后出现这个异常,经过仔细全面排查,项目源码是没问题的. 怀疑jvm被重写了,肉眼也没找到证据.怀疑是操作系统问题,这个也不会没办法排查 于是给客户重新发了个war包,客户运行后出现 异常: ...

  9. day 13 模块

    模块 一个py文件,就是一个模块,一个模块是一些相似功能的集合体. # echo.py 定义一个模块. 下文都用这个 print('from echo 模块') name = 'echo' def f ...

  10. linux命令学习之:top

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不 ...