最近项目中接触到了webservice ,谨以此记录一下相关知识.
wsdl 是什么
wsdl 是基于xml的用于描述web service 以及如何访问web service 的语言.
- wsdl是网络服务描述语言
- wsdl使用xml编写
- 是一种xml文档
- wsdl用于描述网络服务
- wsdl 也可用于定位网络服务
- wsdl 还不是w3c标准
- 包含一系列描述某个webservice的定义
WSDL 端口
元素是最重要的 WSDL 元素。
它可描述一个 web service、可被执行的操作,以及相关的消息。
可以把 元素比作传统编程语言中的一个函数库(或一个模块、或一个类)。
WSDL 消息
元素定义一个操作的数据元素。
每个消息均由一个或多个部件组成。可以把这些部件比作传统编程语言中一个函数调用的参数。
WSDL types
元素定义 web service 使用的数据类型。
为了最大程度的平台中立性,WSDL 使用 XML Schema 语法来定义数据类型。
WSDL Bindings
元素为每个端口定义消息格式和协议细节。
SOAP
- SOAP是简易对象访问协议
- soap是一种通信协议
- soap用于应用程序之间的通信
- soap是一种用于发送消息的格式
- soap用于通过因特网进行通信
- soap独立于平台
- soap独立于语言
- soap基于xml]
- soap简单可扩展
- 允许您绕过防火墙
- soap将被作为w3c标准来发展
SOAP 消息必须用 XML 来编码
SOAP 消息必须使用 SOAP Envelope 命名空间
SOAP 消息必须使用 SOAP Encoding 命名空间
SOAP 消息不能包含 DTD 引用
SOAP 消息不能包含 XML 处理指令
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
...
...
</soap:Header>
<soap:Body>
...
...
<soap:Fault>
...
...
</soap:Fault>
</soap:Body>
</soap:Envelope>
什么是Web Services?
Web Services 是应用程序组件
Web Services 使用开放协议进行通信
Web Services 是独立的(self-contained)并可自我描述
Web Services 可通过使用UDDI来发现
Web Services 可被其他应用程序使用
XML 是 Web Services 的基础
基础的 Web Services 平台是 XML + HTTP。
HTTP 协议是最常用的因特网协议。
XML 提供了一种可用于不同的平台和编程语言之间的语言。
Web services 平台的元素:
SOAP (简易对象访问协议)
UDDI (通用描述、发现及整合)
WSDL (Web services 描述语言)