互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示。

一些常用的webservice网站的链接地址:         http://www.tuicool.com/articles/iIfqma

一:调用免费的web service获取天气预报信息

1.第三方服务地址

http://www.webxml.com.cn/WebServices/WeatherWebService.asmx

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

2.生成本地桩(借助wsimport命令工具自动生成客户端代码)

打开命令行窗口,切换到项目的src目录,执行"wsimport -keep http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl"生成客户端代码,如下图所示:

 运行结果显示,使用wsimport工具直接生成客户端代码会抛异常, 无法生成客户端代码, 只是因为我们要调用的WebService是用.net写的,这个是Java调用net的webservice都有的问题,这个问题的解决办法如下:

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

  

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

  

  再次执行wsimport生成代码,这次使用保存在本地的WeatherWS.wsdl文件来进行生成,如下图所示:

  

  从执行结果显示,这一次可以正常生成代码了,刷新一下src目录,就可以看到生成的代码了,如下图所示:

  

3.借助生成的代码编写请求代码

package me.gacl.ws.client;

import java.util.List;

import org.junit.Test;

import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWebService;
import cn.com.webxml.WeatherWebServiceSoap; public class WeatherWSClient {
public static void main(String[] args) {
// 创建一个WeatherWS工厂
WeatherWebService factory = new WeatherWebService();
// 根据工厂创建一个WeatherWSSoap对象
WeatherWebServiceSoap weatherWSSoap = factory
.getWeatherWebServiceSoap();
// 调用WebService提供的getWeather方法获取南宁市的天气预报情况
ArrayOfString weatherInfo = weatherWSSoap.getWeatherbyCityName("上海");
List<String> lstWeatherInfo = weatherInfo.getString();
// 遍历天气预报信息
for (String string : lstWeatherInfo) {
System.out.println(string);
System.out.println("------------------------");
}
} //支持的行政市
@Test
public void Test() {
// 创建一个WeatherWS工厂
WeatherWebService factory = new WeatherWebService();
// 根据工厂创建一个WeatherWSSoap对象
WeatherWebServiceSoap weatherWSSoap = factory
.getWeatherWebServiceSoap();
// 调用WebService提供的getWeather方法获取南宁市的天气预报情况
ArrayOfString weatherInfo = weatherWSSoap.getSupportProvince();
List<String> lstWeatherInfo = weatherInfo.getString();
// 遍历天气预报信息
for (String string : lstWeatherInfo) {
System.out.println(string);
System.out.println("------------------------");
}
} }

测试结果:

直辖市
------------------------
上海
------------------------
58367
------------------------
58367.jpg
------------------------
2017-6-4 10:50:51
------------------------
21℃/28℃
------------------------
6月4日 晴转多云
------------------------
东风微风
------------------------
0.gif
------------------------
1.gif
------------------------
今日天气实况:气温:26℃;风向/风力:东北风 3级;湿度:53%;紫外线强度:强。空气质量:中。
------------------------
紫外线指数:强,涂擦SPF大于15、PA+防晒护肤品。
感冒指数:少发,无明显降温,感冒机率较低。
穿衣指数:热,适合穿T恤、短薄外套等夏季服装。
洗车指数:较适宜,无雨且风力较小,易保持清洁度。
运动指数:较适宜,请适当降低运动强度。
空气污染指数:中,易感人群应适当减少室外活动。 ------------------------
22℃/25℃
------------------------
6月5日 中雨
------------------------
东南风微风
------------------------
8.gif
------------------------
8.gif
------------------------
21℃/25℃
------------------------
6月6日 阵雨转多云
------------------------
南风转西北风微风
------------------------
3.gif
------------------------
1.gif
------------------------
上海简称:沪,位置:上海地处长江三角洲前缘,东濒东海,南临杭州湾,西接江苏,浙江两省,北界长江入海,正当我国南北岸线的中部,北纬31°14′,东经121°29′。
面积:总面积7823.5平方公里。人口:人口1000多万。上海丰富的人文资源、迷人的城市风貌、繁华的商业街市和欢乐的节庆活动形成了独特的都市景观。游览上海,
不仅能体验到大都市中西合壁、商儒交融、八方来风的氛围,而且能感受到这个城市人流熙攘、车水马龙、灯火璀璨的活力。上海在中国现代史上占有着十分重要的地位,
她是中国XXX的诞生地。许多震动中外的历史事件在这里发生,留下了众多的革命遗迹,处处为您讲述着一个个使人永不忘怀的可歌可泣的故事,成为包含民俗的人文景
观和纪念地。在上海,每到秋祭,纷至沓来的人们在这里祭祀先烈、缅怀革命历史,已成为了一种风俗。大上海在中国近代历史中,曾是风起云涌可歌可泣的地方。在这里荟
萃多少风云人物,散落在上海各处的不同住宅建筑,由于其主人的非同寻常,蕴含了耐人寻味的历史意义。这里曾留下许多革命先烈的足迹。瞻仰孙中山、宋庆龄、鲁迅等故居,
会使您产生抚今追昔的深沉遐思,这里还有无数个达官贵人的住宅,探访一下李鸿章、蒋介石等人的公馆,可以联想起主人那段显赫的发迹史。
------------------------

以上,就是一个完整的第三方的webservice服务的调用的实例。

https://www.cnblogs.com/mr-wuxiansheng/p/6939828.html

java调用第三方的webservice应用实例的更多相关文章

  1. java调用第三方的webservice应用实例【转载】

    互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示. 一些常用的webservice网站的链接地址: ...

  2. wsdl 生成 java 代码 java 使用CXF将wsdl文件生成客户端代码命令java调用第三方的webservice应用实例 推荐使用, 并且设置了 utf8

    推荐使用, 并且设置了 utf8 wsdl2java -p cn.smborderservice  -encoding utf-8 -d f:\logink\src -all -autoNameRes ...

  3. java 使用CXF将wsdl文件生成客户端代码命令java调用第三方的webservice应用实例

    1.先下载cxf包https://download.csdn.net/download/suizhikuo/108112362.解压缩包,通过cmd命令进入到bin目录下(cd cxf\bin的路径) ...

  4. 具有相同名称 的类/接口已在使用。请使用类定制设置来解决此冲突。java调用第三方的webservice应用实例

    WSDLToJava Error: http://10.96.84.124:81/BTRPWebServiceForSMB/OnSMBOrderService.svc?xsd=xsd0 [0,0]: ...

  5. 学习调用第三方的WebService服务

    互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的应用中显示,下面就以查询国内手机号码归属地为例进行说明. 首先安利一 ...

  6. Java调用第三方dll文件的使用方法 System.load()或System.loadLibrary()

    Java调用第三方dll文件的使用方法 public class OtherAdapter { static { //System.loadLibrary("Connector") ...

  7. Java调用第三方http接口的方式

    1. 概述 在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适.很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对方提供的接口或第三方接口(短信.天气等). 在J ...

  8. java调用.net的webservice

    目录(?)[-] 一参考文献 二概述 三实例 注意点   一.参考文献 1. http://www.cnblogs.com/xuqifa100/archive/2007/12/13/993926.ht ...

  9. Java调用第三方接口示范

    在项目开发中经常会遇到调用第三方接口的情况,比如说调用第三方的天气预报接口. 使用流程[1]准备工作:在项目的工具包下导入HttpClientUtil这个工具类,或者也可以使用Spring框架的res ...

随机推荐

  1. k8s教程

    k8s教程地址 安装https://github.com/gjmzj/kubeaszhttps://github.com/opsnull/follow-me-install-kubernetes-cl ...

  2. HTML5拖放牛刀小试

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  3. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第四集之安装Linux】

    1,确保Linux镜像的路径存在 2,启动 3,在真实机情况下,进入BIOS修改安装操作系统的路径[记住:虚拟机不需要这一步.] 如果是真实机安装Linux,默认是从硬盘中安装,而不是从光盘.这就需要 ...

  4. Decision Trees:机器学习根据大量数据,已知年龄、收入、是否上海人、私家车价格的人,预测Ta是否有真实购买上海黄浦区楼房的能力—Jason niu

    from sklearn.feature_extraction import DictVectorizer import csv from sklearn import tree from sklea ...

  5. .NET控件名称缩写一览表 zz

    标准控件1 btn Button2 chk CheckBox3 ckl CheckedListBox4 cmb ComboBox5 dtp DateTimePicker6 lbl Label7 llb ...

  6. 后台执行Bitmap加载

    如果加载图片时,使用的图片数据源不是来自于内存,而是来自硬盘或网络时,一般不会再UI线程执行图片加载操作. 图片的加载速度取决于很多方面(往往具有不可预测性),比如:硬盘或者网络的读写速度.图片大小. ...

  7. DWM1000 定位数据收发以及定位算法

    蓝点DWM1000 模块已经打样测试完毕,有兴趣的可以申请购买了,更多信息参见 蓝点论坛 正文: DWM1000 定位数据 官方定位程序,建议先学习基础API程序 参考手册: 在手册上提到,目前双向定 ...

  8. MongoDB的基本查询

    .查询所有的电影名称以及评分 db.data2.find( {},{,} ) .获取所有评分大于等于9.0的电影名称,以及制作的国家 db.data2.find( {"subject.rat ...

  9. Tapable.plugin is deprecated. Use new API on `.hooks` instead

    问题描述 在使用extract-text-webpack-plugin给webpack打包时出现报错 Tapable.plugin is deprecated. Use new API on `.ho ...

  10. VS2013配置OPENCV2.4.9

    转载自->这里 设置opencv SDK解压目录,点击Extract后解压 我是习惯于解压到这个位置的. 解压过程如上图. 2.         文件目录介绍 解压后会在目录下生成opencv的 ...