java调用第三方的webservice应用实例

互联网上面有很多的免费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服务的调用的实例。

时间: 2025-01-05 14:49:15

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

学习调用第三方的WebService服务

互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的应用中显示,下面就以查询国内手机号码归属地为例进行说明. 首先安利一个网站,提供了很多实用的WebService服务: http://www.webxml.com.cn/zh_cn/index.aspx 从首页可以看到很多常用的服务,这里我们选择 国内手机号码归属地查询 点击进入我们可以看到该服务提供的两个API 查看WebService的wsdl描述信息,点击服务

java调用.net的webservice接口

要调用webservice,首先得有接口,用已经写好的接口地址在myEclipse的目标project中,右键->new web service client-> 选择JAX-WS方式,点击“next”,看到以下界面:输入webservice接口地址,然后选择你要生成客户端的package包,不选择默认是项目的default包. 点击“next”,进入验证环节,再次点击“next”,进入以下界面:如果在新建项目时new的是web service project,这两项不需要勾选,否则要勾选上.

Java调用免费的WebService示例【天气预报】【国内手机号码归属地查询】

1.免费的WebService地址:http://www.webxml.com.cn/zh_cn/index.aspx 提供了例如:天气预报,手机归属地查询等很多Web服务. 2.调用天气预报服务示例: 使用JDK自带的wsimport命令生成客户端代码: wsimport -keep http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl 发现抛出如下异常: 后来在网上找到了http://blog.sina.com.cn/

Java调第三方的webservice接口

1.eclipse中add dynamic web project 2.选中项目右键new——> webservice ——> webservice client 在service definition中(wsdl地址):http://eistest.donghuicredit.com/BizInvestService?wsdl 3.调用代码(一个Java 文件以Proxy结尾) DhzxWebServiceProxy proxy = new DhzxWebServiceProxy("

java调用sap的webservice(需要登录验证)

1.Base64.java /* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License a

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

WebService学习总结(四)——调用第三方提供的webService服务 互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为例进行说明. 气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server), 而各大站点的应用就去调用它们得到天气信息并以不同的样式去展示(WebService Client).一. 调用

PHP使用SOAP调用.net的WebService数据

需要和一个.net系统进行数据交换,对方提供了一个WebService接口,使用PHP如何调用这个数据呢,下面就看看使用SOAP调用的方法吧 这个与一般的PHP POST或GET传值再查库拿数据的思路有点不一样,需要用到SOAP模块,处理方法也很简单,就是有一些需要注意的事情.首先确认你的PHP.ini开启了.SOAP,就是 extension=php_soap.dll 这前面的分号去咯.代码很简单: 复制代码代码如下: <?php $client = new SoapClient('http:

cxf调用c#的webservice

java调用c#的webservice,如今已经測试通过.并且用到了项目中. 如今把实现方式和遇到的问题分享给大家.详细源代码例如以下: JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); String url = "http://10.1.5.83/Ciming.Service4JuDing/CM4APP.asmx?WSDL"; org.apache.cxf.endpoint.Client

Java调用WebService 接口 实例

这里给大家介绍一下,Java调用webservice的一个实例的过程. 本项目不能运行,因为接口地址不可用. 这里只是给大家介绍一个过程,同时留作自己的笔记.如果要学习,可以参照别人的实例.比较好. ①选择项目根目录的src ,右键,new --> webservice client 然后输入地址: http://172.18.100.52:456/hello?wsdl 必须要加wsdl结尾,这样才是一个webservice的接口. finlish.这时候刷新项目.可以看到项目下/src/com