调用天气查询webservice服务的两种基本方法

本文介绍了如何使用Java调用天气查询的WebService服务。首先,通过wsimport命令生成服务客户端代码,然后在Eclipse中创建Java工程并导入生成的文件。接着,展示了两种调用服务的方法,分别通过WeatherWebServiceSoap接口直接调用和使用Service类创建服务端点。最后,代码示例演示了获取指定城市天气信息的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.把http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?WSDL页面保存到磁盘.

2.命令提示符输入wsimport -extension -s .  D:/WeatherWebService.asmx.xml

wsimport是jdk的命令,如果提示没有这个命令,要先配好Java环境,-s是生成.java文件, (.)表示在当前目录生成,后面是上面保存的文件.

如果提示错误,无法生成文件,把文件里与错误提示行对应的行删除,然后再运行上面的命令,会在当前目录生成文件

3.在Eclipse中新建Java工程,把上面生成的文件拷贝到工程中

4.新建一个测试类

5.下面为调用webservice服务的两种方法

package test;


import java.net.URL;
import java.util.List;


import javax.xml.namespace.QName;
import javax.xml.ws.Service;


import org.junit.Test;


import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWebService;
import cn.com.webxml.WeatherWebServiceSoap;


public class testClient {


public static void main(String[] args) throws Exception {
//创建服务视图
WeatherWebService weatherWebService = new WeatherWebService();
//通过服务视图得到服务端点
WeatherWebServiceSoap weatherWebServiceSoap = weatherWebService.getWeatherWebServiceSoap();
//调用webservice服务方法
ArrayOfString arrayOfString = weatherWebServiceSoap.getWeatherbyCityName("宁波");
List<String> resultlist = arrayOfString.getString();

for(String result : resultlist){
System.out.println(result);
}


}

@Test
public void test() throws Exception {
URL url = new URL("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx");
QName qName =new QName("http://WebXml.com.cn/", "WeatherWebService");

//创建service
Service service = Service.create(url, qName);
//创建porttype
WeatherWebService weatherWebService = service.getPort(WeatherWebService.class);

//通过服务视图得到服务端点
WeatherWebServiceSoap weatherWebServiceSoap = weatherWebService.getWeatherWebServiceSoap();
//调用webservice服务方法
ArrayOfString arrayOfString = weatherWebServiceSoap.getWeatherbyCityName("郑州");
List<String> resultlist = arrayOfString.getString();

for(String result : resultlist){
System.out.println(result);
}
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值