解析Web接口描述语言WSDL(1)

web

  Web服务定义语言(Web Services Definition Language,WSDL)是一个建议性标准,用于描 述Web服务的技术调用语法。WSDL定义了一套基于 XML的语法,将Web服务描述为能够进行消息交换的服务访问点的集合,从而满足了这种需求。WSDL服务定义为分布式系统提供了可机器识别的SDK文档,并且可用于描述自动执行应用程序通信中所涉及的细节。WSDL的当前版本是1.1,规范可以从http://www.w3.org/TR/wsdl获得。

  WSDL就是描述XMLWeb服务的标准XML格式,WSDL由Ariba、Intel、IBM和微软等开发商提出。它用一种和具体语言无关的抽象方式定义了给定Web服务收发的有关操作和消息。就其定义来说,你还不能把WSDL当作一种对象接口定义语言,例如,CORBA或COM等应用程序体系结构就会用到对象接口定义语言。 WSDL保持协议中立,但它确实内建了绑定SOAP的支持,从而同SOAP建立了不可分割的联系。

  WSDL服务描述是一个XML文档,它与WSDL模式(schema)的定义一致。WSDL文档并不是完整的服务描述,而只包括了服务描述任务的较低层次,即:服务接口的原始技术描述。WSDL是Web服务的接口定义语言IDL(Interface Definition Language,),本质上,WSDL描述说明的是Web服务的以下三个基本属性:

  服务做些什么--服务所提供的操作(方法)。
  如何访问服务--数据格式详情以及访问服务操作的必要协议。
  服务位于何处--由特定协议决定的网络地址,如URL。

二、WSDL文档结构

  WSDL文档将Web服务定义为服务访问点或端口的集合。在 WSDL中,由于服务访问点和消息的抽象定义已从具体的服务部署或数据格式绑定中分离出来,因此可以对抽象定义进行再次使用:消息,指对交换数据的抽象描述;端口类型指操作的抽象集合。用于特定端口类型的具体协议和数据格式规范构成了可以再次使用的绑定。将Web访问地址与可再次使用的绑定相关联,可以定义一个端口,而端口的集合则定义为服务。

  1、WSDL信息模型

  WSDL信息模型充分利用了抽象规范与规范具体实现的分离,也就是分离了服务接口定义(抽象接口)与服务实现定义(具体端点)。 抽象接口规范描述了终端的处理能力,它在WSDL中表示为portType。束定机制 (binding mechanism)在WSDL中表示为binding元素,它使用特定的通信协议、数据编码模型和底层通信协议,将Web服务的抽象定义映射至特定实现。若束定结合了实现的访问地址,抽象端点也就成为可供服务请求者调用的具体端点(concrete endpoint),WSDL的port元素表示了这一结合。

  抽象接口可以支持任何数量的操作(operations)。操作是由一组消息(messages)定义,消息定义了操作的交互定式。与抽象的消息、操作概念相对应的具体实现是由binding元素指定。与XML应用相同,WSDL模式定义了几个高层元素,或称为主要元素。在WSDL中,Web服务描述中的主要元素如下:

  Types,定义了Web服务使用的所有数据类型集合,可被元素的各消息部件所引用。它使用某种类型系统(一般地使用XMLSchema中的类型系统)。
  Message,通信消息数据结构的抽象类型化定义。使用Types所定义的类型来定义整个消息的数据结构。
  Operation,对服务中所支持操作的抽象描述。一般单个Operation描述了一个访问入口的请求/响应消息对。
  PortType,对于某个访问入口点类型所支持操作的抽象集合。这些操作可以由一个或多个服务访问点来支持。
  Binding,包含了如何将抽象接口的元素(portType)转变为具体表示的细节,具体表示也就是指特定的数据格式和协议的结合;特定端口类型的具体协议和数据格式规范的绑定。
  Port,定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问点。
  Service,这是一个粗糙命名的元素,代表端口的集合;相关服务访问点的集合。

  因此,portType(与message和type元素的细节相结合)描述了Web服务是什么,binding元素描述了如何使用Web服务,port及service元素描述了Web服务的位置。

图1 WSDL信息模型

  图1体现了WSDL信息模型的一个可能结构,它清楚反映了portType元素包含的抽象消息/操作和binding元素的具体消息/操作间的关系。图中的黑体字突出了WSDL规范中的术语。WSDL使用的元素名称有些含糊,由于不存在能够区分抽象和具体概念的一致命名原则,因此必须记住哪一个元素代表抽象概念,哪一个元素代表具体的概念。

时间: 2024-11-02 02:27:39

解析Web接口描述语言WSDL(1)的相关文章

解析Web接口描述语言WSDL(3)

web WSDL文档被分为两种类型:服务接口(service interface )和服务实现(service implementations).(如下图3所示) 图3 WSDL文档类型 服务接口由 WSDL文档来描述,这种文档包含服务接口的 types.import.message.portType 和 binding 等元素.服务接口包含将用于实现一个或多个服务的 WSDL服务定义.它是 Web 服务的抽象定义,并被用于描述某种特定类型的服务. 通过使用一个 import 元素,一个服务接口

解析Web接口描述语言WSDL(6)

web 3. MIME 绑定 WSDL包含了以某种MIME格式将抽象类型与具体消息绑定在一起的方式.为下列MIME类型定义了绑定: multipart/related text/XML application/x-www-form-urlencoded (此格式用于替代HTML中的表单) 其它 ( 由MIME类型字符串指定) 对MIME类型的定义的工作量很大,且是发展的,因此为每种MIME类型费力地定义XML语法不是WSDL的目标.在需要时,不排除增加额外的语法以定义另外的MIME类型.如果MI

解析Web接口描述语言WSDL(4)

web WSDL设计继承了以XML为基础的当代Web技术标准的开放设计理念.它允许通过扩展使用其它的类型定义语言(不光是XMI Schema),允许使用多种网络传输协议和消息格式(不仅是在规范中定义的SOAP/HTTP.HTTP-GET/POST及MIME等).WSDL也应用了当代软件工程中的复用理念,分离了抽象定义层和具体部署层,使得抽象定义层的复用性大大增加. 1. SOAP绑定 WSDL包括用于SOAP 1.1终端的绑定,此绑定支持下列协议信息规范: 需要指示出此绑定是针对SOAP 1.1

解析Web接口描述语言WSDL(2)

web 2.WSDL对象结构图 从图2所示的WSDL对象结构图可知,一个WSDL文档中可以包含一个Types,多个Message.PortType.Binding和Service. 图2 WSDL对象结构图 其中,Types是一个数据类型定义的容器,包含了所有在消息定义中需要的XML元素的类型定义. Message具体定义了在通信中使用的消息的数据结构,Message元素包含了一组Part元素,每个Part元素都是最终消息的一个组成部分,每个Part都会引用一个DataType来表示它的结构.P

Web Service描述语言 WSDL 详解

http://www.blogjava.net/libin2722/articles/159469.html 为什么使用WSDL? 像Internet协议之类的标准有没有为权威所利用,或者人们这样看待它是因为顺之所获的好处远远超出了代价?曾经有许多试图建立的标准都流产了.有时候,那些还没有普遍使用的标准甚至由法令或政府规定强行推出:Ada语言就是一例. 我相信正是跟随标准所带来的好处使它广泛接受.例如,对于铁路服务来说,真正重要的是,不同公司所铺设的铁路结合到一起,或者是来自好几个公司的产品协调

Web Service描述语言 WSDL 详解(1)--为什么使用WSDL?[转]

web|详解 像Internet协议之类的标准有没有为权威所利用,或者人们这样看待它是因为顺之所获的好处远远超出了代价?曾经有许多试图建立的标准都流产了.有时候,那些还没有普遍使用的标准甚至由法令或政府规定强行推出:Ada语言就是一例. 我相信正是跟随标准所带来的好处使它广泛接受.例如,对于铁路服务来说,真正重要的是,不同公司所铺设的铁路结合到一起,或者是来自好几个公司的产品协调的工作在一起.几家大的企业合力建立了SOAP标准.Web Service描述语言(WSDL)向这种Web Servic

Web Service描述语言 WSDL 详解(1)--为什么使用WSDL?[转]-Web_Serv

像Internet协议之类的标准有没有为权威所利用,或者人们这样看待它是因为顺之所获的好处远远超出了代价?曾经有许多试图建立的标准都流产了.有时候,那些还没有普遍使用的标准甚至由法令或政府规定强行推出:Ada语言就是一例. 我相信正是跟随标准所带来的好处使它广泛接受.例如,对于铁路服务来说,真正重要的是,不同公司所铺设的铁路结合到一起,或者是来自好几个公司的产品协调的工作在一起.几家大的企业合力建立了SOAP标准.Web Service描述语言(WSDL)向这种Web Service的提供商和用

Web Service描述语言 WSDL 详解(2)--WSDL文件示例[转]

web|示例|详解 让我们来研究一下WSDL文件,看看它的结构,以及如何工作.请注意这是一个非常简单的WSDL文档实例.我们的意图只是说明它最显著的特征.以下的内容中包括更加详细的讨论. <?xml version="1.0" encoding="UTF-8" ?><definitions name="FooSample" targetNamespace="http://tempuri.org/wsdl/"

Web Service描述语言 WSDL 详解(2)--WSDL文件示例[转]-Web_Servic

让我们来研究一下WSDL文件,看看它的结构,以及如何工作.请注意这是一个非常简单的WSDL文档实例.我们的意图只是说明它最显著的特征.以下的内容中包括更加详细的讨论.<?xml version="1.0" encoding="UTF-8" ?><definitions name="FooSample" targetNamespace="http://tempuri.org/wsdl/" xmlns:wsdln