`
mazhiyuan
  • 浏览: 62747 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

wsdl文档结构

阅读更多

本文转自:http://blog.csdn.net/changyuming/article/details/3042601
   

     WSDL把service定义为网络端点(或port)集合。在WSDL中,端点和消息的抽象定义与具体的网络部署或数据格式分开定义。这允许对抽象定义的重用。

     WSDL中主要包含以下6个元素:
     (1)definitions:是WSDL文档的根源素,主要用来定义web服务的名称、声明一些命名空间并包含下面的几个元素。
     (2)types:包含一些WSDL文档中使用的数据类型定义。如果WSDL文档中只使用xml架构内建的简单类型,则可以省略types元素。
     (3)message:是对被交换数据的抽象描述。它描述了一个单向的消息,即它要么是一个单一的请求消息,要么是一个单一的响应消息。message元素定义了消息的名称并包含0个或多个part元素,它们表示消息的参数或消息的返回值。
     (4)portType:表示端点支持的一组抽象操作。可以把多个message元素结合在一起来构成一个完整的单向或双向操作。
     (5)binding:为一个特定的端口类型指定了具体的协议和数据格式。
     (6)service:是一组相关端口(使用port元素表示)的集合,其中,每一个端口都表示一个端点,包含具体的绑定和网络地址。
     除了以上的6个主要元素之外,WSDL文档中还可以包含documentation元素(用来添加注释)和import元素(用来导入外部文档)。其中在documentation元素中可以包含肉眼可以读的注释信息,这个元素可以出项在任何的WSDL元素中。

1、definitions元素
是WSDL文档的根源素,用药声明一些命名空间。
下面是常用的命名空间:
前缀 命名空间URI 描述
http http://schemas.xmlsoap.org/wsdl/http WSDL HTTP GET POST绑定的命名空
soap http://schemas.xmlsoap.org/wsdl/soap WSDL SOAP绑定的命名空间
xsd http://www.w3.org/2001/XMLSchema/ XSD定义的架构命名空间
soapenc http://schemas.xmlsoap.org/soap/encoding SOAP1.1定义的编码命名空间
mime http://schemas.xmlsoap.org/wsdl/mime/ WSDL MIME绑定的命名空间
wsdl http://schemas.xmlsoap.org/wsdl/ WSDL架构的命名空间
        在 definitions元素中也可以使用targetNamespace属性指定当前WSDL文档的目标命名空间,并可以为它指定一个前缀,这样就可以在 当前WSDL文档中通过它来引用自身。例如,下面的两条声明把http://www.mycompany.com/service指定为当前WSDL文档 的目标命名空间,并可以在文档中使用s0前缀来引用它:
xmlns:s0="http://www.mycompany.com/service"
targetNamespace="http://www.mycompany.com/service"
     可以使用definitions元素的name属性为WSDL文档指定一个可选名称。
     另外,还可以在definitions元素中使用import元素导入外部的文档,并给它指定一个命名空间,形式为:<import namespace="uri" location="uri">
<wsdl:import namespace="http://port.waitingfortime.org/" location="http://localhost:9999/HelloWorld?wsdl=HelloWorld.wsdl" />
  导入外部文档之后,就可以在当前文档中引用外部文档中的类型和元素。
     通过使用import元素,用户可以根据抽象级别把不同的元素定义放在不同的文档中,然后再根据需要导入它们。

2、type元素
包含一些与消息相关额数据类型定义。wsdl通常使用xsd作为它的内建类型系统以达到最大的互操作性 和平台无关性。因为不可能使用一个单一的类型系统语法来描述所有的抽象类型,所以wsdl允许通过扩充性元素来增加类型系统。扩充性元素可以出项在 types元素下,指定一个类型定义系统并包含这些类型定义。

3、message元素
表 示消息的抽象定义。消息由一个或多个逻辑部分(使用part元素表示)组成,每个部分都可以使用element属性或type属性关联到一个类型上,其中 element属性使用限定名引用一个xsd元素;type属性使用限定名引用一个xsd simpleType或complexType。
格式如下:

<message name="消息名">
<part name="部分名" element="name"(或type="qname")/>
......
</message>
 
其中,消息的名称应该能够在当前wsdl文档中唯一标识一个消息,部分名应该能够在当前消息中唯一地标识一个部分。如果一个消息具有多个逻辑单元,则用户可 以在message元素中包含多个part子元素;也可以先定义一个表示消息逻辑结构的复杂类型,然后再message元素中仅包含一个引用该类型的 part子元素。
例如,下面定义的AddHttpGetin消息中包含2个part元素:

<message name="AddHttpGetin">
<part name="x" type="s:string"/>
<part name="y" type="s:string"/>
</message>
 
下面定义的AddSoapin消息中,则只包含一个引用复杂类型的part子元素Add:

<tpyes>
<s:element name="Add">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="x" type="s:int"/>
<s:element minOccurs="1" maxOccurs="1" name="y" type="s:int"/>
</s:sequence>
</s:complexType>
</tpyes>
<message name="AddSoapin">
<part name="parameters" element="s0:Add"/>
</message>
 
4、portType元素
表 示端口类型的抽象定义,端口类型由一种抽象操作组成。在定义portType元素时,使用name属性指定它的名字。portType元素中可以包含0个 或多个operation子元素,operation元素又可以包含对应于操作参数和返回结果的输入和输出消息,分别使用input和output元素表 示,在这2个元素中可以使用message属性指定它们所对应的消息。例如:

<portType name="MyFirstWebServicesSoap">
<operation name="HelloWorld">
<documentation>返回字符串HelloWorld</documentation>
<input message="s0:HelloWorldSoapin"/>
<output message="s0:HelloWorldSoapOut"/>
</operation>
<operation name="Add">
<documentation>返回两个整数的和</documentation>
<input message="s0:AddSoapin"/>
<output message="s0:AddSoapOut"/>
</operation>
</portType>
 
5、binding元素
定义了portType元素中的operation和message元素的消息格式和协议细节。一个给定的portType可以具有任意数目的绑定。格式如下:

<wsdl:binding name="绑定名" type="端口类型名">
<wsdl:operation name="操作名">
<wsdl:input name="输入消息名">
</wsdl:input>
<wsdl:output name="输出消息名">
</wsdl:output>
<wsdl:fault name="错误消息名">
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
 





分享到:
评论

相关推荐

    Web服务中的WSDL文档结构分析

    解析Web服务中WSDL的具体作用,以及WSDL文档的基本结构,分析每个元素文件的作用。WSDL是Web服务描述语言,由XML语言编写的文档。这种文档用来描述某个Web service,规定其服务的位置,以及此服务所提供的操作。

    wsdl中文文档

    wsdl中文文档,详细介绍了wsdl文档的结构和用法。

    WebService之WSDL自学笔记

    本人自学WebService之WSDL自学笔记。内有详细的例子解析,下面为文档目录。...1.1 WSDL 文档结构 2 1.1.1 WSDL Bindings 3 1.1.2 WSDL 端口 4 1.1.3 WSDL 消息 4 1.1.4 WSDL types 4 1.2 WSDL 实例 5

    WebService描述语言WSDL详解

    WebService描述语言WSDL详解,包括WSDL文档结构,每个关键节点的详细解释,很实用的说明文档

    wsdl文件结构分析

    WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对... 本文将详细讲解WSDL文档的结构,并分析每个元素的作用。

    WSDL学习文档(学习web服务必用)

    WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对... 本文将详细讲解WSDL文档的结构,并分析每个元素的作用。

    Java Web服务构建与运行(高清中文版).part1.rar

     2.2 WSDL文档结构 36  2.3 Amazon E-Commerce Web服务  2.4 wsgen工具与JAX-B工件(Artifacts)  2.5 WSDL总结 2.6 下一章 第3章 SOAP消息编程 3.1 SOAP是否真地不可见 3.2 在SOAP 1.2下实现RabbitCounter...

    Java Web服务构建与运行(高清中文版).part2.rar

     2.2 WSDL文档结构 36  2.3 Amazon E-Commerce Web服务  2.4 wsgen工具与JAX-B工件(Artifacts)  2.5 WSDL总结 2.6 下一章 第3章 SOAP消息编程 3.1 SOAP是否真地不可见 3.2 在SOAP 1.2下实现RabbitCounter...

    Java Web服务构建与运行(高清中文版).part5.rar

     2.2 WSDL文档结构 36  2.3 Amazon E-Commerce Web服务  2.4 wsgen工具与JAX-B工件(Artifacts)  2.5 WSDL总结 2.6 下一章 第3章 SOAP消息编程 3.1 SOAP是否真地不可见 3.2 在SOAP 1.2下实现RabbitCounter...

    Java Web服务构建与运行(高清中文版).part3.rar

     2.2 WSDL文档结构 36  2.3 Amazon E-Commerce Web服务  2.4 wsgen工具与JAX-B工件(Artifacts)  2.5 WSDL总结 2.6 下一章 第3章 SOAP消息编程 3.1 SOAP是否真地不可见 3.2 在SOAP 1.2下实现RabbitCounter...

    Java Web服务构建与运行(高清中文版).part4.rar

     2.2 WSDL文档结构 36  2.3 Amazon E-Commerce Web服务  2.4 wsgen工具与JAX-B工件(Artifacts)  2.5 WSDL总结 2.6 下一章 第3章 SOAP消息编程 3.1 SOAP是否真地不可见 3.2 在SOAP 1.2下实现RabbitCounter...

    wsdl教程文档

    wsdl文档的结构详解,对开发web service应用程序有很大帮助

    Web Services 教程

    WSDL 文档结构 16 WSDL 端口 17 WSDL 消息 17 WSDL types 17 WSDL Bindings 18 WSDL 实例 18 WSDL 端口 18 WSDL 端口 19 操作类型 19 One-Way 操作 19 Request-Response 操作 20 WSDL 绑定 20 绑定到 SOAP 21 WSDL ...

    wsdl4j-1.6.3-API文档-中文版.zip

    赠送jar包:wsdl4j-1.6.3.jar; 赠送原API文档:wsdl4j-1.6.3-javadoc.jar; 赠送源代码:wsdl4j-1.6.3-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    WSDL表示模型与实现方法 (2003年)

    首次提出WSDL形式化模型,提出一种新的集合———Services集,该集合采用严格的数学方法来定义WSDL文档,采用Services集合可以作为WSDL表示模型,严格、准确地形式化表示WSDL文档结构和实现 WSDL机制的程序语义 。...

    WSDL开发技术详解

    WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对... 本文将详细讲解WSDL文档的结构,并分析每个元素的作用

    wsdl详解(webservice)

    wsdl 详细介绍 WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过... 本文将详细讲解WSDL文档的结构,并分析每个元素的作用。

    onvif_wsdl下载方法

    很多人想下载onvif 的wsdl,但每次从官方网站点击进去都得到一个网页,而不是弹出一个下载页面,本文档简单说明一下onvif 的wsdl 文档下载方法。

Global site tag (gtag.js) - Google Analytics