1. WebServices简介
1.1什么是WebServices
WebServices是应用程序组件
WebServices使用开放协议进行通信
WebServices是独立并可以自我描述
WebServices可通过使用UDDI来发现
WebServices可被其它应用程序使用
XML是WebServices的基础
1.2工作模式
XML+HTTP
1.3WebServices平台元素
SOAP(简单对象访问协议)
UDDI(它是一种目录服务)
WSDL(Web services描述语言)
2. 为什么使用WebServices 可在不同的应用程序与平台之间交换数据
3.实现天气预报
打开http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl 你会看到
使用记事本将齐打开将<s:element ref="s:schema" /> 全部删除掉不然在生成java文件的时候会报错
然后打开cmd窗口使用cd命令跳转到该路径(获取直接在下载路径shirt+右键点击选择直接在此处打开命令窗口)
然后执行wsimport -keep *.xml命令会在当前路径下生成一个cn文件夹里面就是java代码
然后我们写一个类来获取天气信息:
package cn.com.weather;
import java.util.List;
import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWS;
import cn.com.webxml.WeatherWSSoap;
public class Weather {
/**
* 获取城市信息
*
* @param cityname 城市名
*
*/
public void getWeather(String cityname) {
// 创建实例化对象
WeatherWS weatherWS = new WeatherWS();
// 通过实例化对象创建接口
WeatherWSSoap weatherWSSoap = weatherWS.getWeatherWSSoap();
// 通过接口传入城市名获取天气信息
ArrayOfString weather = weatherWSSoap.getWeather(cityname, null);
if (weather != null) {
// 将获取到的信息转成集合然后遍历
List<String> weathers = weather.getString();
weathers.forEach(s -> System.out.println(s));
}
}
}
然后测试:
package cn.com.test;
import cn.com.weather.Weather;
/**
*测试类
* @author Administrator
*
*/
public class Test {
public static void main(String[] args) {
Weather weather=new Weather();
weather.getWeather("长沙");
}
}
测试结果: