读懂WSDL 接口开发_第1页
读懂WSDL 接口开发_第2页
读懂WSDL 接口开发_第3页
全文预览已结束

读懂WSDL 接口开发.doc 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

读懂WSDL

1.WSDL是什么

WSDL指网络服务描述语言(WebServicesDescriptionLanguage)。是一种使用XML编写的文档。这种文档可描述某个Webservice。它可规定服务的位置,以及此服务提供的操作(或方法)。

2.WSDL文档结构

WSDL文档是利用这些主要的元素来描述某个webservice的:

元素

定义

<portType>

最重要的WSDL元素,它可描述一个webservice可被执行的操作以及相关的消息。

可以把<portType>元素比作传统编程语言中的一个函数库(或一个模块、或一个类)。

<message>

用于描述一个操作的数据元素。每个消息均由一个或多个部件组成。可以把这些部件比作传统编程语言中一个函数调用的参数。

<types>

webservice使用的数据类型定义。为了最大程度的平台中立性,WSDL使用XMLSchema语法来定义数据类型。

<binding>

webservice使用的通信协议元素。为每个端口定义消息格式和协议细节。

一个WSDL文档的主要结构

l抽象定义

Types独立与机器和语言的类型定义

Messages包括函数参数(输入与输出分开)或文档描述

PortTypes引用消息部分中消息定义来描述函数签名(操作名、输入参数、输出参数)

2具体定义

BindingsPortTypes部分的每一操作在此绑定实现

Services确定每一绑定的端口地址

文档形式为:

<definitions>

<types>

definitionoftypes........

</types>

<message>

definitionofamessage....

</message>

<portType>

definitionofaport.......

</portType>

<binding>

definitionofabinding....

</binding>

</definitions>

WSDL文档可包含其它的元素,比如extension元素,以及一个service元素,此元素可把若干个webservices的定义组合在一个单一的WSDL文档中。

2.1.WSDL文档实例

欢迎光临DIY部落,点击这里查看更多文章教程......

参考地址:/course/3_program/java/javajs/2008315/104672.html

WSDL概述

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

————————————————————————————

WSDL协议已经被提交给了Internet标准组织W3C审批,目前还处于“确认提交”状态。W3C维持着正规的标准化系统同时提交提案必须经过确定的一套批准过程才能最终成为官方协议。在这种情况下,WSDL的地位,照外行看,至少标准组织在考虑让其成为将来可能标准中的一部分。如果你对这方面的情况感兴趣,或碰巧是一位特关心结果的“失眠症患者”,那么你不妨到W3C网站上去读读有关的建议标准。

用WSDL说明服务

作为一种基于XML的标准,如果你对XML具有一定的了解,那么WSDL的结构对你就不会陌生了。WSDL文档由服务用来描述数据类型的一组元素、服务可以收到的“消息”以及关联每条消息的SOAP绑定组成。

清单A就是一份简单的WSDL文档,该文档同W3C网站公布的WSDL示范文本是一样的,它说明了一种股票行情服务(这也是相当标准的一种Web服务)。

再仔细阅读清单A,你可以看到,文档首先以标准的XML头开头,其中包含了一个版本标识,而文档的根元素则被称为definitions。

Definitions元素可以采用若干种可选属性,这些属性说明文档同时定义文档其余部分使用的名称空间(namespace)。在这种情况下,定义被分配了一个名字(StockQuote),某些名称空间定义是根据以下常规前缀缩写制定的:

tns—“thisnamespace”的缩写,包含被定义服务的主名称空间

xsdl—XMLSchema(XSD)名称空间,用于定义文档中的类型

soap—SOAP绑定采用的名称空间

接下来,为了定义服务的接口需要在type元素内定义所需要的任何复杂类型。这里你必须注意使用标准的XSD句法(属性),它是创造数据类型定义最为适合的方法。不过,如果你愿意,WSDL也能扩展使用不同的类型定义系统。

消息概述

按WSDL的用法,消息可以是传递给某一服务公布对象上的方法的任何参数或者方法被调用之后的任何返回结果。为了继续使用股票行情这个Web服务例子,单一定义方法多半如以下伪代码所示:

floatgetLastTradePrice(stringtickerSymbol)

这样,就像你从清单A所看到的那样,文档中定义了两条消息,一条代表方法的输入参数tickerSymbol(GetLastTradePriceInput消息)另一条代表该方法的返回值(GetLastTradePriceResult消息)——最新的股票价格。

操作把消息组织到一起而且抽象地代表方法定义。在我们的例子中,这两条消息都在GetLastTradePrice操作元素下的getLastTradePrice对象方法定义中组织起来。在一个WSDL文件中的所有操作又都挨个在portType元素内分组。

WSDL文档的余下部分采用服务器上的侦听端点(binding元素)绑定消息同时把端口定义同单一服务实体(service元素)组合起来。清单A的例子就定义了通过SOAP采用服务所需要的绑定。

WSDL工具

你可以手工创建WSDL文件,不过,你还可以采用相当多的工具通过WSDL来为你自动处理和定义Web服务。推荐工具软件如下:

Omniopera—一图形用户界面的WSDL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论