WSDL
WSDL(Web服务描述语言,WebServicesDescriptionLanguage)是为描述Web服务发布的XML格式。W3C组织(WorldWideWebConsortium)没有批准1.1版的WSDL,但是2.0版本已经在制订中,2.0版将被作为推荐标准(recommendation)(一种官方标准),并将被W3C组织批准为正式标准。在诸多技术文献中通常将Web服务描述语言简写为WSDL。
中文名称:网络服务描述语言
外文名称:WebServicesDescriptionLanguage
外语缩写:WSDL
1、基本概念
WSDL是WebService的描述语言,是一种接口定义语言,用于描述WebService的接口信息等。
WSDL元素
WSDL元素基于XML语法描述了与服务进行交互的基本元素:
Type(消息类型):数据类型定义的容器,它使用某种类型系统(如XSD)。
Message(消息):通信数据的抽象类型化定义,它由一个或者多个part组成。
Part:消息参数
Operation(操作):对服务所支持的操作进行抽象描述,WSDL定义了四种操作:1.单向(one-way):端点接受信息;2.请求-响应(request-response):端点接受消息,然后发送相关消息;3.要求-响应(solicit-response):端点发送消息,然后接受相关消息;4.通知(notification):端点发送消息。
PortType(端口类型):特定端口类型的具体协议和数据格式规范。
Binding:特定端口类型的具体协议和数据格式规范
Port:定义为绑定和网络地址组合的单个端点。
Service:相关端口的集合,包括其关联的接口、操作、消息等。
WSDL文档结构
WSDL文档是利用这些主要的元素来描述某个webservice的:
元素定义
webservice执行的操作
一个WSDL文档的主要结构是类似这样的:
definitionoftypes........
definitionofamessage....
definitionofaport.......
definitionofabinding....
WSDL文档可包含其它的元素,比如extension元素,以及一个service元素,此元素可把若干个webservices的定义组合在一个单一的WSDL文档中。
与服务交互所需的所有细节都位于其WSDL文件中。
WSDL支持的消息交换方式
WSDL支持4种消息交换方式:
1)单向(One-way):服务端接收消息;
2)请求响应(Request-response):服务端点接收请求消息,然后发送响应消息;
3)要求应答(Solicit-response):服务访问端发送要求消息,然后接收应答消息。
4)通知(Notification):服务访问端点发送通知消息。
2、主要功能
怎样向别人介绍你的Webservice有什么功能,以及每个函数调用时的参数呢?你可能会自己写一套文档,你甚至可能会口头上告诉需要使用你的Webservice的人。这些非正式的方法至少都有一个严重的问题:当程序员坐到电脑前,想要使用你的Webservice的时候,他们的工具(如VisualStudio)无法给他们提供任何帮助,因为这些工具根本就不了解你的Webservice。解决方法是:用机器能阅读的方式提供一个正式的描述文档。Webservice描述语言(WSDL)就是这样一个基于XML的语言,用于描述Webservice及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Webservice生成WSDL文档,又能导入WSDL文档,生成调用相应Webservice的代码。
3、发展历史
在2001年3月,WSDL1.1被IBM、微软作为一个W3C纪录(W3Cnote)提交到有关XML协议的W3CXML活动,用于描述网络服务。(W3C纪录仅供讨论。一项W3C纪录的发布并不代表它已被W3C或W3C团队亦或任何W3C成员认可。)在2002年7月,W3C发布了第一个WSDL1.2工作草案。
推荐阅读