好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Web服务描述语言WSDL.ppt

55页
  • 卖家[上传人]:jiups****uk12
  • 文档编号:54291636
  • 上传时间:2018-09-10
  • 文档格式:PPT
  • 文档大小:1.15MB
  • / 55 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • Web服务描述语言WSDL,马殿富、林学练 北航计算机学院 2006-05,主要内容,WSDL发展历史 WSDL的基本属性 WSDL的文档框架 类型 消息 端口类型 绑定 服务 WSDL中的4种消息交换方式,一、发展历史,Web服务描述语言WSDL(Web Services Description Language)是一个建议性标准用于描述Webb服务的技术调用语法 1999年HP(惠普)公司是第一个引入Web服务概念,eSpeak实现了“电子服务”平台 2000年6月Microsoft提出了“Web服务”术语,把Web服务作为.NET计划重要组件 在Microsoft的SDL(Service Description Language和SCL(SOAP Contract Language)和IBM的NASSL(Network Accessible Service Specification Language)这两项技术的结合,形成了WSDL的基础SCL采用XML来描述应用程序所交换的消息,NASSL描述服务接口和实现细节 2000年9月25日IBM、Microsoft和Ariba提出WSDL1.0。

      2001年3月15日,他们提交的WSDL1.1成为W3C的NoteWSDL1.1规范网址是http://www.w3.org/TR/wsdl2002年7月9日提出WSDL1.2,2003年11月10日提出WSDL2.0二、基本属性,WSDL描述web服务的三个基本属性: 服务做些什么? 服务所提供的操作(方法); 如何访问服务? 数据格式以及访问服务操作的必要协议; 服务位于何处? 由特定协议决定的网络地址,如URLWeb服务描述语言(Web Services Description Language WSDL)是Web Services技术重要组成部分 WSDL描述了分布在Internet环境中服务操作的抽象定义接口和服务的具体实现端口,实现远程计算资源共享 WSDL通常是协议定义的,协议描述缺乏准确性和严格性,需要一种形式化的表示和描述方法面向服务视图,规范描述资源与协议变换 实现自动服务部署和调用,Content,,,,,,,,,,,,,,,JAVA2WSDL,WSDL2JAVA,,,,UDDI,资源,服务,运行时,客户端(人),客户端(机器),,发布,发现与定位,发现与定位,操作,浏览器AJAX,WSDL特点,实现 Web 服务体系结构的松散耦合; 无论是请求者还是提供者可以各自独立地使用平台、编程语言或分布式对象模型。

      三、WSDL文档框架,WSDL是XML描述的网络服务,基于消息机制、包含面向文本或面向过程信息的操作集合 操作及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的,这样就可以重用这些抽象定义Echo.java源代码,函数名 输入 参数1 参数2 参数x 输出 类型,类型定义,类型定义,消息,消息,操作,服务接口定义,服务接口组成了服务描述中的可重用部分,包括type元素、message和portType types元素中描述消息中复杂数据类型的使用 message元素指定XML 数据类型组成消息的各个部分操作的输入或输出(参数)被定义为message 元素 portType元素中定义了Web服务的操作操作定义了输入和输出数据流中可以出现的XML消息服务实现定义,服务实现定义是一个描述给定服务提供者如何实现特定服务接口的WSDL文档有binding和services binding 元素描述特定服务接口的协议、数据格式、安全性和其它属性 service元素服务元素包含一组port元素端口将端点与来自服务接口定义的binding 元素关联起来WSDL文档框架,*? ……* ……*……*……*…… ,命名空间,wsdl http://schemas.xmlsoap.org/wsdl/ soap http://schemas.xmlsoap.org/wsdl/soap/ http http://schemas.xmlsoap.org/wsdl/http/ mime http://schemas.xmlsoap.org/wsdl/mime/ soapenc http://schemas.xmlsoap.org/soap/encoding/ soapenv http://schemas.xmlsoap.org/soap/envelope/ xsi http://www.w3.org/2000/10/XMLSchema-instance xsd http://www.w3.org/2000/10/XMLSchema,1. 类型,types元素包含了交换消息的数据类型定义。

      为了实现最大的互操作性(interoperability)和平台中立性(neutrality),WSDL选用XML Schema DataTypes,简称XSD作为标准类型系统,并将它作为固有类型系统类型—XSD编码抽象数据类型建议,使用元素(element)形式,而不使用属性(attribute)形式; 不包括仅在特殊的协议和数据格式中使用的元素或者属性; 数组类型使用Soap:Array 类型,并使用ArrayOfXXX作为数组类型的名; 使用XSD编码表示xsd:anyType2. 消息,消息由若干个逻辑部件(part)构成每个部件使用一个消息类型属性与某个类型系统的类型相关联 消息定义语法如下:**,消息(message)name属性指定了消息的名称如果消息具有多个逻辑单位,则需要使用多个part元素消息示例,,,s=λ(&s,“definition\*“) 在WSDL文档中,消息名称定义具有唯一性,即 xλ(&s,“message“) (yλ(&s,“message“,“name“,σ(&x,“name“))x=y) 在消息定义中,部件名称定义具有唯一性,即 xλ(&s,“message“) yλ(&x,“message\part“) (zλ(&x,“message\part“,“name“,σ(&y,“name“)) y=z),,消息类型属性集合是可扩展的。

      WSDL定义如下消息类型属性 element:使用QName引用一个XSD元素,即 xλ(&s, “message\part“) (σ(&x,“element“)!yλ(&s,“types\schema\element“)σ(&x,“element“)=σ(&y,“name“))) type:使用QName引用个XSD simpleType(简单类型)或XSD complexType (复含类型),即 xλ(&s,“message\part“) (σ(&x,“type“)σ(&x,“type“)XSDtypes)yλ(&s,“types\schema\complexType“)(σ(&x,“type“)=σ(&y,“name“))yλ(&s,“types\schema\simpleType“)(σ(&x,“type“)=σ(&y,“name“))),3. 端口类型定义 (portType),端口类型是一个由抽象操作和抽象消息构成的有名称的集合表示端口类型名称,表示操作名称,操作中引用到的消息通过message属性指定,,s=λ(&s,“definition\*“) 端口类型名称具有唯一性,即 xλ(&s,“portType“)(yλ(&s,“portType“,“name“,σ(&x,“name“))x=y) 在相同端口类型中,操作名称具有唯一性,即 xλ(&s,“portType“)yλ(&x,“portType\operation“)(zλ(&x,“portType\operation“,“name“,σ(&y,“name“))y=z),,在不同的端口类型中,如果操作名称相同,则操作定义相同。

      xλ(&s,“portType\operation“) (yλ(&s,“portType\operation“,“name“,σ(&x,“name“)) x=y) 操作的input、output和fault元素的message属性所指定的消息,在WSDL的message中已定义,即 xλ(&s,“portType\operation\input“)yλ(&s,“message“)(σ(&x,“message“)=σ(&y,“name“)) xλ(&s,“portType\ operation\output“)  yλ(&s,“message“)(σ(&x,“message“)=σ(&y,“name“))xλ(&s,“portType\ operation\fault“)  yλ(&s,“message“)(σ(&x,“message“)=σ(&y, “name“)),echo.wsdl,消息,操作,4. binding元素,*?**?*????**?*,5. service元素, *?*?,为绑定指定唯一地址来定义一个访问端点echo.wsdl”文件,绑定,服务,端口,,,,,服务中的访问端点具有如下的关系: 如果一个服务中有多个访问端点属于同一端口类型,但是对应不同的绑定或者地址,则这些访问端点可以相互替换。

      这使得WSDL文档使用者根据需要选择访问端点 通过检查访问端点可以确定服务的端口类型这使得WSDL文档的使用者能够根据它支持的端口类型决定是否与一个特定的服务通讯 所有访问端点都不相互通信,即一个服务的访问端点的输出不会是另一个访问端点的输入四、消息交换方式,WSDL支持4种消息交换方式,来访问服务端点 单向(One-way):服务访问端点接收消息; 请求响应(Request-response):服务访问端点接收请求消息,然后发送响应消息; 要求应答(Solicit-response):服务访问端点发送要求消息,然后接收应答消息; 通知(Notification):服务访问端点发送通知消息单向操作,单向操作语法:*input元素指定用于单向操作的抽象消息格式请求响应操作,请求响应操作语法**,要求应答操作,要求应答操作语法**,通知操作,通知操作语法*,The End!,,操作中的元素名称,如果单向操作和通知操作未指定name属性,则该属性名默认为是操作名 如果请求响应或要求应答操作中未指定name属性,则该属性名默认为是 操作名+“Request”/“Responese”/“Solicit”。

      针对于请求应答和要求应答操作可以通过parameterOrder指定一个参数名列表该属性的值是一个用空格分开的消息构件名序列 portType、binding与port,一个portType可以对应多个bindng 一个binding可以对应多个port,SOAP绑定,?***,soap:binding元素,SOAP:binding元素表明WSDL文档绑定到SOAP协议格式,该元素在使用SOAP绑定时是必需的style属性值是它所包含的操作子元素的style属性的默认值 transport属性是必需的,它的值表示绑定的传输方式与SOAP的何种传输方式一致URI值http://schemas.xmlsoap.org/soap/http 表示传输方式和SOAP规范的HTTP绑定相一致soap:operation,?,soap:body,,soap:fault,*,soap:header和soap:headerfault,****,soap:address,,消息传递模式,1.rpc/encoded 2.rpc/literal 3.document/encoded 4.document/literal,服务,public class myServices {public void myMethod (int x){return} },。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.