java webservice天气_java使用WebService实现调用天气预报功能【超详细】

1、首先建立一个web project  ,我起的名字:weatherInf  【我用的编译器是MyEclipse】

ee52e399561086cc207112eb0fae01ed.png

2、在src下新建一个file 起名:WeatherWebService.wsdl,将该链接中的代码  http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl粘到新建的file中去。

3、正常情况下粘贴完都会出现错误,我的是出现标签错误,strong 和 br 标签提示没有闭合的错误,我又重新自己打了出错的标签,错误解决!

还有一个错误是 element 标签错误,我上网找了一下解决办法,就是将   替换成为:

将   标签 删除,问题解决!

bf849536552f9c91a4fa7787ab7c7f16.png

4、WeatherWebService.wsdl  文件错误解决完了之后,在该文件上面右键:选择 “New Web Sevice Client”:【我的MyEclipse中是这样的步骤,其他的编译器可能就不一致。】

3ec8a80b6ac490c90b8e99636fe60496.png

5、弹出以下窗口,next:

33fc0a38e6ab675a5402f40b78c4da53.png

6、弹出下面窗口,next:

48b1e110f980e6363c5b0e6617338350.png

7、弹出以下窗口,若没有错误出现就finsh:

6c1ade4be4f4ae60581cd384e7bb00f5.png

8、finsh完了之后会自动解压出一个叫  cn.com.webxml   的包,里面有我们调用查找天气的相关类:

3cf6d148b4a1d4ef83a05290463fa88d.png

9、新建一个测试包 test,下面新建一个测试类  WeatherTest,在 main 方法里面加入以下代码,里面的相关城市参数可以修改:

package test;

import java.rmi.RemoteException;

import java.util.List;

import javax.xml.rpc.ServiceException;

import cn.com.webxml.ArrayOfString;

import cn.com.webxml.WeatherWebService;

import cn.com.webxml.WeatherWebServiceSoap;

public class WeatherTest {

public static void main(String[] args) throws RemoteException, ServiceException {

WeatherWebService locator=new WeatherWebService();

//调用getXXPort()方法生成xxSoapBindingStub对象

WeatherWebServiceSoap stud=(WeatherWebServiceSoap) locator.getWeatherWebServiceSoap();

//输出当天的天气状况

List city=stud.getSupportCity("江西").getString();

List province=stud.getSupportProvince().getString();

List weather=stud.getWeatherbyCityName("上海").getString();

for(String c:city) {

System.out.println(c);

System.out.println("--------------");

}

for(String p:province)

System.out.println(p);

System.out.println("--------------");

for(String w:weather)

System.out.println(w);

}

}

10、运行该测试类,控制台输出相关的天气信息:

c8243ee6c0204bfa2cc7d8c578757f42.png

11、我之前复制过其他大佬的例子,测试类里面使用的不是List数组,而是ArrayofString,但是取出的时候回出现数据类型不一致的错误,因此我就修改为了list。

到此成功实现调用天气预报的方法!

本人小白一枚,如果有不得体或不完善的地方,请各位大佬指正,谢谢~~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值