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

webservice学习笔记(3)--调用天气

发布时间:2020-12-16 21:54:46 所属栏目:安全 来源:网络整理
导读:1. 找到提供天气预报 Webservice的网络地址 http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx 2.? 使用eclipse的web service浏览器访问 3.? 客户端编码方式访问 –?借助命令工具自动生成客户端代码 –?借助生成的代码编写请求代码 4.进入要生成

1.找到提供天气预报Webservice的网络地址

http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx

2.?使用eclipse的web service浏览器访问

3.?客户端编码方式访问

–?借助命令工具自动生成客户端代码

–?借助生成的代码编写请求代码

4.进入要生成项目文件夹下的src目录,在该目录下使用wsimport -keep urt(文件.wsdl),wsimport是jdk自带的工具

E:UserswuhuiWorkspacesMyEclipseProfessional2014weather_webservicesrc>"D:P
rogram FilesJavajdk1.7.0_17binwsimport.exe" ?-keep ?E:UserswuhuiWorkspace
sMyEclipseProfessional2014weather_webserviceweather.wsdl

生成后的代码如图:



5.客户端测试代码:

/**     
 * @文件名称: ClientTest.java   
 * @描述: TODO  
 * @作者:  一叶扁舟(skiff)
 * @时间:2017年2月21日 下午2:22:39  
 * @版本:V1.0     
 */ 
package cn.skiff.www.webservice.weather.client;

import java.util.List;

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

/**  
 * @类功能说明:    
 * @作者: 一叶扁舟 (skiff)
 * @创建时间:2017年2月21日 下午2:22:39  
 * @版本:V1.0  
 */
public class ClientTest {
	public static void main(String[] args) {
		WeatherWS weatherWS = new WeatherWS();
		WeatherWSSoap weatherWSSoap = 	weatherWS.getWeatherWSSoap();
		ArrayOfString weather = weatherWSSoap.getWeather("福州",null);
		List<String> list = weather.getString();
		System.out.println(list);
	}

}

6.说明: 直接生成客户端代码会抛异常,无法生成客户端代码,解决办法:

(1).?将对应的wsdl文档保存到本地

(2).?修改wsdl文档的部分内容:

?<s:element ref="s:schema" /><s:any />?替换成<s:any minOccurs="2" maxOccurs="2"/>

备注: 这个是Java调用net的webservice都有的问题

(编辑:李大同)

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

    推荐文章
      热点阅读