加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WebService学习总结 四 WebService开发天气预报客户端程序

发布时间:2020-12-16 22:09:54 所属栏目:安全 来源:网络整理
导读:一 ?首先找到一个免费天气预报的WebService服务接口 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 二 查看其wsdl文档并保存到本地 三 使用wsimport工具生成客户端代码 wsimport -keep 本地wsdl文档路径 发现生成代码的过程中出现错误

一 ?首先找到一个免费天气预报的WebService服务接口

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

二 查看其wsdl文档并保存到本地

三 使用wsimport工具生成客户端代码 wsimport -keep 本地wsdl文档路径

发现生成代码的过程中出现错误,s:schema标签错误,经过网络查找问题,找到了解决方法。把全部的?<s:elementref="s:schema" /><s:any />?替换 ?<s:anyminOccurs="2" maxOccurs="2"/> 即可。

代码如下:

生成的客户端代码

?/WetherClient/src/cn/com/webxml/ArrayOfString.java
/WetherClient/src/cn/com/webxml/DataSet.java
/WetherClient/src/cn/com/webxml/GetSupportCity.java
/WetherClient/src/cn/com/webxml/GetSupportCityResponse.java
/WetherClient/src/cn/com/webxml/GetSupportDataSet.java
/WetherClient/src/cn/com/webxml/GetSupportDataSetResponse.java
/WetherClient/src/cn/com/webxml/GetSupportProvince.java
/WetherClient/src/cn/com/webxml/GetSupportProvinceResponse.java
/WetherClient/src/cn/com/webxml/GetWeatherbyCityName.java
/WetherClient/src/cn/com/webxml/GetWeatherbyCityNamePro.java
/WetherClient/src/cn/com/webxml/GetWeatherbyCityNameProResponse.java
/WetherClient/src/cn/com/webxml/GetWeatherbyCityNameResponse.java
/WetherClient/src/cn/com/webxml/ObjectFactory.java
/WetherClient/src/cn/com/webxml/package-info.java
/WetherClient/src/cn/com/webxml/WeatherWebService.java
/WetherClient/src/cn/com/webxml/WeatherWebServiceSoap.java

测试代码:

package com.cl.test;

import java.awt.List;

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

public class WetherClientTest {

	public static void main(String[] args) {
		WeatherWebService factory=new WeatherWebService();
		WeatherWebServiceSoap soap=factory.getWeatherWebServiceSoap();
		ArrayOfString aos=soap.getWeatherbyCityName("北京");
		java.util.List<String> list=aos.getString();
		System.out.println(list);
	}

}

注意:工厂在wsdl文档的<wsdl:service name="WeatherWebService">看出是这个类: WeatherWebService

服务接口也是在wsdl文档的<wsdl:port name="WeatherWebServiceSoap" binding="tns:WeatherWebServiceSoap">看出是这个服务接口:WeatherWebServiceSoap。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读