用WSDL定义Web服务
用WSDL定义Web服务
在Web服务的世界里,应用程序基本上由远程的、XML驱动的组件构成,这些组件采用不同的语言编写,再采用标准的远程激活协议通过Web连接。服务提供者定义所提供服务需要用到的数据格式。同样的,当你在以上应用模式下接受Web服务时,你也需要采取措施保证你的客户程序采用了服务器期望的数据格式。这正是WSDL(Web服务定义语言)大显身手的地方。
WSDL概述
WSDL就是描述XML
Web服务的标准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—“this namespace”的缩写,包含被定义服务的主名称空间
xsdl—XML Schema
(XSD)名称空间,用于定义文档中的类型
soap—SOAP绑定采用的名称空间
接下来,为了定义服务的接口需要在type元素内定义所需要的任何复杂类型。这里你必须注意使用标准的XSD句法(属性),它是创造数据类型定义最为适合的方法。不过,如果你愿意,WSDL也能扩展使用不同的类型定义系统。
消息概述
按WSDL的用法,消息可以是传递给某一服务公布对象上的方法的任何参数或者方法被调用之后的任何返回结果。为了继续使用股票行情这个Web服务例子,单一定义方法多半如以下伪代码所示:
floatgetLastTradePrice(string tickerSymbol)
这样,就像你从清单A所看到的那样,文档中定义了两条消息,一条代表方法的输入参数tickerSymbol(GetLastTradePriceInput消息)另一条代表该方法的返回值(GetLastTradePriceResult消息)——最新的股票价格。
操作把消息组织到一起而且抽象地代表方法定义。在我们的例子中,这两条消息都在 GetLastTradePrice操作元素下的getLastTradePrice对象方法定义中组织起来。在一个 WSDL文件中的所有操作又都挨个在portType元素内分组。
WSDL文档的余下部分采用服务器上的侦听端点(binding 元素)绑定消息同时把端口定义同单一服务实体(service元素)组合起来。清单A的例子就定义了通过SOAP采用服务所需要的绑定。
WSDL工具
你可以手工创建WSDL文件,不过,你还可以采用相当多的工具通过WSDL来为你自动处理和定义Web服务。推荐工具软件如下:
Omniopera—一图形用户界面的WSDL、XML和XSD编辑器
Microsoft的SOAP
Toolkit—一种工具包,其中包括根据WSDL定义创建COM接口的向导程序,还包括根据COM接口创建WSDL的向导程序
IBM的Web
Services Toolkit—一种工具包,其中包括产生WSDL和SOAP部署说明的向导程序
- 1重庆OA客户
- 2重庆OA行业资讯
- 3西安OA行业资讯
- 4北京OA行业资讯
- 5合肥OA软件行业资讯
- 6郑州OA行业资讯
- 7济南OA行业资讯
- 8上海OA软件行业资讯
- 9石家庄OA行业资讯
- 10天津OA行业资讯
- 11沈阳OA行业资讯
- 12哈尔滨OA软件行业资讯
- 1如何评估一个好的ITIL解决方案?
- 2新医改与IT新契机
- 3重庆五届五十佳房地产企业,预示房地产OA前途无量
- 4互联网商业模式改变 企业家逃不掉危机
- 5安全问题扼住网银发展的喉咙
- 6打破全面预算神秘化走出信息化尴尬
- 7IT信息系统架构的“四项基本原则”
- 8ITIL建立流程还是流程适应ITIL
- 9企业信息化规划过程的分解与应用
- 10评述中小企业的信息化管理实施架构
- 11微软反唇相讥:Sun ONE毫无竞争性
- 12重庆OA办公软件,在政府、集团方面协同办公软件哪个品牌比较好?泛普政务方案
- 13[原创]IT服务年终总结1----我们的客(用)户
- 14[原创]ITIL之IT服务支持
- 15钢铁企业erp系统多少钱采购系统分析与流程设计
- 16如何在乌“云”中达成有效的SOA治理
- 17[原创]汶川地震--IT连续性管理在这一刻给了我们重视的理由
- 18中小企业B2C直销网站运营思路
- 19RFID技术在ITS中的应用分析
- 20选择电子邮件服务器的十二大要素
- 21规避风险 EMS外包业的本质与探索
- 22OA市场的盘子也越来越大,OA软件的定向客户分类也越来越多
- 23erp系统多少钱医疗保险业信息化成败取决三大关键
- 24支付宝联手6家银行 网购可用信用卡支付
- 25经济危机中 中型电子企业的IT投资
- 26IT规划:企业必须重视这些分内事
- 27透视:ITIL 的第三把火 点亮中国
- 28经济衰退期企业应该问自己的十个问题
- 29我国去年电子商务交易额破3万亿元
- 30我国金融行业信息化发展的四个阶段
成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼