WSDL

 
求助编辑百科名片

Web Services Description Language的缩写,是一个用来描述Web服务和说明如何与Web服务通信的XML语言。为用户提供详细的接口说明书。

 
 

编辑本段WSDL 简介

WSDL是 Web Service的描述语言,是一种接口定义语言,用于描述Web Service的接口信息等。
WSDL文档可以分为两部分。顶部分由抽象定义组成,而底部分则由具体描述组成

编辑本段WSDL 历史

在 2001 年 3 月,WSDL 1.1 被 IBM、 微软作为一个  W3C 纪录(W3C note)提交到有关  XML 协议的 W3C XML 活动,用于描述网络服务。(W3C 纪录仅供讨论。一项 W3C 纪录的发布并不代表它已被 W3C 或 W3C 团队亦或任何 W3C 成员认可。)在 2002 年 7 月,W3C 发布了第一个 WSDL 1.2 工作 草案

编辑本段WSDL 功能

怎样向别人介绍你的Web service有什么功能,以及每个 函数调用时的参数呢?你可能会自己写一套文档,你甚至可能会口头上告诉需要使用你的Web service的人。这些非正式的方法至少都有一个严重的问题:当程序员坐到电脑前,想要使用你的Web service的时候,他们的工具(如Visual Studio)无法给他们提供任何帮助,因为这些工具根本就不了解你的Web service。解决方法是:用机器能阅读的方式提供一个正式的描述文档。Web service描述语言(WSDL)就是这样一个基于XML的语言,用于描述Web service及其 函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应Web service的代码。

编辑本段WSDL 元素

WSDL 元素 [1] 基于XML语法描述了与服务进行交互的基本 元素
Type(消息类型): 数据类型定义的容器,它使用某种类型系统(如XSD)。
Message(消息):通信数据的抽象类型化定义,它由一个或者多个part组成。
Part:消息参数
Operation(操作):对服务所支持的操作进行抽象描述,WSDL定义了四种操作: 1.单向(one-way):端点接受信息;2.请求-响应(request-response):端点接受消息,然后发送相关消息;3.要求-响应(solicit-response):端点发送消息,然后接受相关消息;4.通知(notification

  [2]

):端点发送消息。
Port Type (端口类型):特定端口类型的具体协议和 数据格式规范。
Binding:特定端口类型的具体协议和 数据格式规范
Port :定义为绑定和 网络地址组合的单个端点。
Service:相关端口的集合,包括其关联的接口、操作、消息等。

编辑本段WSDL 文档结构

WSDL 文档是利用这些主要的 元素来描述某个 web service 的:
元素 定义
web service 执行的操作
<message> web service 使用的消息
<types> web service 使用的 数据类型
<binding> web service 使用的 通信协议
一个 WSDL 文档的主要结构是类似这样的:
<definitions>
<types>
definition of types........
</types>
<message>
definition of a message....
</message>
<portType>
definition of a port.......
</portType>
<binding>
definition of a binding....
</binding>
</definitions>WSDL 文档可包含其它的 元素,比如 extension 元素,以及一个 service 元素,此元素可把若干个 web services 的定义组合在一个单一的 WSDL 文档中。
如需完整的语法概述,请访问 WSDL 语法 这一节。同样要记住,与服务交互所需的所有细节都位于其 WSDL 文件中。
●WSDL支持的消息交换方式?
WSDL支持4种消息交换方式:
1)单向(One-way):服务端接收消息;
2)请求响应(Request-response):服务端点接收请求消息,然后发送响应消息;
3)要求应答(Solicit-response):服务访问端发送要求消息,然后接收 应答消息
4)通知(Notification):服务访问端点发送通知消息。
WSDL文档可以分为两部分。顶部分由抽象定义组成,而底部分则由具体描述组成 [3]
抽象部分以独立于平台和语言的方式定义SOAP消息,它们并不包含任何随机器或语言而变的元素。这就定义了一系列服务,截然不同的网站都可以实现。随网站而异的东西如序列化便归入底部分,因为它包含具体的定义。
l 抽象定义
Types
独立与机器和语言的类型定义
Messages
包括函数参数(输入与输出分开)或文档描述
PortTypes
引用消息部分中消息定义来描述函数签名(操作名、输入参数、输出参数)
2 具体定义
Bindings
PortTypes部分的每一操作在此绑定实现
Services
确定每一绑定的端口地址
 
 
HTML
XHTML    HTML 5    CSS    TCP/IP
XML
XML    XSL    XSLT    XSL-FO    XPath    XPointer    XLink    DTD    XML Schema    DOM    XForms   SOAP    WSDL    RDF    RSS    WAP    Web Services
Web脚本
JavaScript    HTML DOM    DHTML    VBScript    AJAX    jQuery    JSON    E4X    WMLScript
Serv脚本
SQL    ASP    ADO    PHP
.NET
多媒体
SMIL    SVG
参考资料
扩展阅读: