4、Web Service-Jaxws(Eclipse版本)实现查看天气和手机归属地

1、前提概要

免费的官网:http://www.webxml.com.cn/zh_cn/web_services.aspx

官网提供了各种免费的webservice

我们使用的是:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl

使用上述的网址进行天气的查询

使用http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

作为手机归属地查询的wsdl

2、实现天气的查询代码

1、新建工程

2、访问http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl将文件进行保存

 

3、使用命令进行编译

此时会编译出错,因为此时使用的是java端获取.net的web service

具体可参考博文:https://wensiqun.iteye.com/blog/1083340

做出如下的修改:

第一步:将xml文件下载下来

第二步:修改xml文件,将文件中所有出现<s:element ref="s:schema"/><s:any/>的地方全部使用​ <s:any minOccurs="2" maxOccurs="2"/>替换掉。

第三步:使用wsimport解析本地文件即可。

修改之后的wsdl文件再次进行编译

 4、刷新工程

 

5、填写测试段的代码

此时的情况是怎么知道调用的类或者说其接口

查看wsdl文件:

 Ctrl + shift + t  搜索 WeatherWs(工厂类)

 

所以起始类:WeatherWS.java

写测试类:

package cn.com.client;

import java.util.List;

import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWS;
import cn.com.webxml.WeatherWSSoap;

public class client {
    public static void main(String[] args) {
        WeatherWS weatherWS = new WeatherWS();
        //返回的是代理的对象
        WeatherWSSoap weatherWSSoap = weatherWS.getWeatherWSSoap();
        
        ArrayOfString weather =  weatherWSSoap.getWeather("合肥", null);
        List<String> list = weather.getString();
        for(String l : list){
            System.out.println(l + "...结束啦....");
        }
    }
}

结果:

安徽 合肥...结束啦....
合肥...结束啦....
1977...结束啦....
2019/03/20 20:29:46...结束啦....
今日天气实况:气温:16℃;风向/风力:东南风 1级;湿度:93%...结束啦....
紫外线强度:弱。空气质量:良。...结束啦....
紫外线指数:弱,辐射较弱,涂擦SPF12-15、PA+护肤品。
健臻·血糖指数:较易波动,血糖较易波动,注意监测。
穿衣指数:较舒适,建议穿薄外套或牛仔裤等服装。
洗车指数:不宜,有雨,雨水和泥水会弄脏爱车。
空气污染指数:良,气象条件有利于空气污染物扩散。
...结束啦....
3月20日 雷阵雨转多云...结束啦....
12℃/22℃...结束啦....
西风3-4级转西北风小于3级...结束啦....
4.gif...结束啦....
1.gif...结束啦....
3月21日 雷阵雨...结束啦....
8℃/18℃...结束啦....
北风3-4级转东北风小于3级...结束啦....
4.gif...结束啦....
4.gif...结束啦....
3月22日 多云...结束啦....
5℃/12℃...结束啦....
东北风小于3级...结束啦....
1.gif...结束啦....
1.gif...结束啦....
3月23日 多云...结束啦....
6℃/15℃...结束啦....
东北风转东南风小于3级...结束啦....
1.gif...结束啦....
1.gif...结束啦....
3月24日 多云...结束啦....
8℃/16℃...结束啦....
东南风转西南风小于3级...结束啦....
1.gif...结束啦....
1.gif...结束啦....

3、测试手机归属地的查询测试

1、新建工程

2、新建wsdl文件

将http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl文件拷贝

3、使用cmd进行编译

4、刷新工程的目录:

 5、测试代码

查找工厂类

Ctrtl +shift + t 搜索MobileCodeWS

 测试类:

package com.test;
import cn.com.webxml.MobileCodeWS;
import cn.com.webxml.MobileCodeWSSoap;
public class client {
    
    public static void main(String[] args) {
        
        MobileCodeWS mobileCodeWS = new MobileCodeWS();
        MobileCodeWSSoap mobileCodeWSSoap= mobileCodeWS.getMobileCodeWSSoap();
        String area = mobileCodeWSSoap.getMobileCodeInfo("18726987258", null);
        System.out.println(area);
    }

}

 

 此时的两个简单的小测试已经结束了!

原文地址:https://www.cnblogs.com/Mrchengs/p/10567573.html