Web 服务描述语言 (Web Services Description Language, WSDL)是一种XML Application,它将Web服务描述定义为一组
服务访问点,
客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问(类似远程过程调用)。
简介
WSDL首先对访问的操作和访问时使用的请求/响应消息进行抽象描述,然后将
其绑定到具体的传输协议和消息格式上以最终定义具体部署的
服务访问点。相关的具体部
署的服务访问点通过组合就成为抽象的Web服务。
由于通信协议和消息格式在Web技术里已经达到了标准化,我们知道在通常的开发过
程中,对于对象的Interface一定具备相应的SDK描述文档,Web服务也是一种对象,只不
过它是被部署在Web上而已。很自然地,我们也完全需要有对Web服务这个对象的界面的
SDK描述文档。然而这两者又不尽相同,其一如今在Web上的应用已经完全接受了XML
应用基础
这个基本的标准,基本上所有新的技术都是基于XML标准的,其二Web服务的目标是即
时装配,松散耦合以及自动集成的,这意味着SDK描述文档应当是具备被机器识别的能
力的。
也就是说,对于使用标准化的消息格式/通信协议的Web服务,它需要以某种结构化的
方式(即XML)对Web服务的调用/通信加以描述,而且实现这一点也显得非常重要,这
是Web服务即时装配的基本保证。WSDL正是这样一种描述语言,WSDL定义了一套基于
XML的语法,将Web服务描述为能够进行消息交换的
服务访问点的集合,从而满足了这种
需求。WSDL服务定义为分布式系统提供了可供机器识别的SDK文档,并且可用于描述自
动执行应用程序通信中所涉及的细节。
WSDL文档将Web服务定义为服务访问点或端口的集合。在WSDL中,由于服务访问
点和消息的抽象定义已从具体的服务部署或数据格式绑定中分离出来,因此可以对抽象定
义进行再次使用:消息指对交换数据的抽象描述;而端口类型则是指操作的抽象集合。用
于特定端口类型的具体协议和数据格式规范构成了可以再次使用的绑定。将Web访问地址
与可再次使用的绑定相关联,可以定义一个端口,而端口的集合则定义为服务。因此,WSDL
文档在Web服务的定义中使用下列元素:
· Types:数据类型定义的容器,它使用某种类型系统(如XSD);
· Message:通信数据的抽象类型化定义;
· Operation:对服务所支持的操作的抽象描述;
· Port Type:操作的抽象集合,这些操作由一个或多个端点支持;
· Binding:特定端口类型的具体协议和数据格式规范;
· Port:绑定网络地址的端点;
· Service:相关端点的集合。
应该注意的是,WSDL并没有引入新的类型定义语言。虽然要描述消息格式需要丰富
的类型系统,并且它也支持XML架构规范(XSD)作为其标准类型系统,但是,由于不可
能只用一种类型系统语法来描述当下和将来的所有消息格式,因此WSDL允许通过扩展来
使用其他类型定义语言。此外,WSDL还定义了通用的绑定机制。通过该机制可使特定的
协议、数据格式或结构与抽象的消息、操作或端点相关联。该机制还允许对抽象定义进行
再次使用。
WSDL的编写包括4个步骤:
· 定义服务接口;
· 指定参数;
· 消息传递和传输;
· 概括。