WebService 原理:HTTP + XML
一、WebService 是什么?
1.基于 web 的服务:服务器端整出一些资源让客户端应用访问(获取数据)
2.一个跨语言、跨平台的规范(抽象)
3.多个跨语言、跨平台的应用间通信整合的方案(实际)
以各个网站显示天气预报功能为例
气象中心的管理系统将收集的天气信息并将数据暴露出来(通过 WebService server),而各大站点的应用就去调用它们得到天气信息并以不同的样式去展示(WebService Client)
二、为什么要用 WebService ?
1.跨平台调用
2.**/跨语言调用/**
3.远程调用
三、什么时候用 WebService ?
1.同一家公司的新旧功能之间(eg:语言不同)
2.不同公司应用之间(也是存在交互的,天猫与物流公司的交互)
3.一些提供数据的内容聚合应用:天气预报,股票行情
************************************************************************************************
四、WSDL:
web service definition language(WebService 定义语言)建立在 XML 和 Schema 基础上
暴露出来的接口(url)
eg:http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx
获取 wsdl 文档,即在接口(url)后面加 "?wsdl"
1.对应了一种类型的文件 .wsdl。
2.定义了 web service 的服务器端与客户端应用交互传递请求和响应数据的格式和方式。
3.一个 web service 对应一个唯一的 wsdl 文档。
五、SOAP:
simple object access protocal(简单对象访问协议)
1.是一种简单的,基于 HTTP 和 XML 的协议,用于在 WEB 上交换结构化的数据(结构化数据指的是 XML)
2.soap 消息:请求消息和响应消息
请求消息 eg:
响应消息 eg:
3.http + xml 片段(xml 片段无头部)
六、SEI
WebService EndPoint Interface(webservice 终端[Server端]接口)
就是 WebService 服务器端用来处理请求的接口
七、CXF
Celtix + XFire
一个 apache 的用于开发 webservice 服务器端和客户端的框架
----------------------------------------------------------------------------------------------------
八、Java EE 自带 WS浏览器 查看 wsdl 文档
1.在 eclipse 页面点击
,进入 WebService 浏览器。
2.点击右上角
WSDL page,进入WSDL页面。
3.点击左侧 Navigator 下的 WSDL Main,出现 Actions 页面
4.在 Actions 页面中,输入 wsdl。
格式为:
http://127.0.0.1:7001/?wsdl
点击 GO , 得到当前 wsdl 并对其进行解析。
5.展开
点击当前实现类的某一方法,此处为 sayHello。
6.点击 Add 添加信息(Tom)
7.点击 Go 运行,控制台输出信息:
----------------------------------------------------------------------------------------
8.返回:在 Status 中
点击右上角 Source ,便可查看 SOAP 请求信封 以及 SOAP 响应信封。