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

wsdl文档结构

阅读更多

WSDL 文档结构

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

元素定义
<portType> web service 执行的操作
<message> web service 使用的消息
<types> web service 使用的数据类型
<binding> web service 使用的通信协议

一个 WSDL 文档的主要结构是类似这样的:

<definitions>

<types>
   definition of types........
</types>

<message>
   definition of a message....
</message>

<portType>
   definition of a port.......
</portType>

<binding>
   definition of a binding....
</binding>

</definitions>

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

如需完整的语法概述,请访问 WSDL 语法 这一节。

WSDL 端口

<portType> 元素是最重要的 WSDL 元素。

 

它可描述一个 web service、可被执行的操作,以及相关的消息。

 

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

 

WSDL 消息

<message> 元素定义一个操作的数据元素。

 

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

WSDL types

<types> 元素定义 web service 使用的数据类型。

 

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

 

WSDL Bindings

<binding> 元素为每个端口定义消息格式和协议细节。

 

WSDL 实例

这是某个 WSDL 文档的简化的片段:

 

<message name="getTermRequest">
   <part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
   <part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
  <operation name="getTerm">
        <input message="getTermRequest"/>
        <output message="getTermResponse"/>
  </operation>
</portType>

在这个例子中,<portType> 元素把 "glossaryTerms" 定义为某个端口的名称,把 "getTerm" 定义为某个操作的名称。

操作 "getTerm" 拥有一个名为 "getTermRequest" 的输入消息,以及一个名为 "getTermResponse" 的输出消息

<message> 元素可定义每个消息的部件,以及相关联的数据类型。

对比传统的编程,glossaryTerms 是一个函数库,而 "getTerm" 是带有输入参数 "getTermRequest" 和返回参数 getTermResponse 的一个函数。

 

 

WSDL 端口可描述由某个 web service 提供的界面(合法操作)。

WSDL 端口

<portType> 元素是最重要的 WSDL 元素。

它可描述一个 web service、可被执行的操作,以及相关的消息

端口定义了指向某个 web service 的连接点。可以把该元素比作传统编程语言中的一个函数库(或一个模块、或一个类),而把每个操作比作传统编程语言中的一个函数。

操作类型

请求-响应是最普通的操作类型,不过 WSDL 定义了四种类型:

类型定义
One-way 此操作可接受消息,但不会返回响应。
Request-response 此操走可接受一个请求并会返回一个响应
Solicit-response 此操作可发送一个请求,并会等待一个响应。
Notification 此操作可发送一条消息,但不会等待响应。

One-Way 操作

一个 one-way 操作的例子:

<message name="newTermValues">
   <part name="term" type="xs:string"/>
   <part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
   <operation name="setTerm">
      <input name="newTerm" message="newTermValues"/>
   </operation>
</portType >

在这个例子中,端口 "glossaryTerms" 定义了一个名为 "setTerm" 的 one-way 操作。

这个 "setTerm" 操作可接受新术语表项目消息的输入,这些消息使用一条名为 "newTermValues" 的消息,此消息带有输入参数 "term" 和 "value"。不过,没有为这个操作定义任何输出。

Request-Response 操作

一个 request-response 操作的例子:

<message name="getTermRequest">
   <part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
   <part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
  <operation name="getTerm">
    <input message="getTermRequest"/>
    <output message="getTermResponse"/>
  </operation>
</portType>

在这个例子中,端口 "glossaryTerms" 定义了一个名为 "getTerm" 的 request-response 操作。

"getTerm" 操作会请求一个名为 "getTermRequest" 的输入消息,此消息带有一个名为 "term" 的参数,并将返回一个名为 "getTermResponse" 的输出消息,此消息带有一个名为 "value" 的参数。

 

 

WSDL 绑定可为 web service 定义消息格式和协议细节。

绑定到 SOAP

一个 请求 - 响应 操作的例子:

<message name="getTermRequest">
   <part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
   <part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
  <operation name="getTerm">
      <input message="getTermRequest"/>
      <output message="getTermResponse"/>
  </operation>
</portType>

<binding type="glossaryTerms" name="b1">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
  <operation>
    <soap:operation
     soapAction="http://example.com/getTerm"/>
    <input>
      <soap:body use="literal"/>
    </input>
    <output>
      <soap:body use="literal"/>
    </output>
  </operation>
</binding>

binding 元素有两个属性 - name 属性和 type 属性。

name 属性定义 binding 的名称,而 type 属性指向用于 binding 的端口,在这个例子中是 "glossaryTerms" 端口。

soap:binding 元素有两个属性 - style 属性和 transport 属性。

style 属性可取值 "rpc" 或 "document"。在这个例子中我们使用 document。transport 属性定义了要使用的 SOAP 协议。在这个例子中我们使用 HTTP。

operation 元素定义了每个端口提供的操作符。

对于每个操作,相应的 SOAP 行为都需要被定义。同时您必须如何对输入和输出进行编码。在这个例子中我们使用了 "literal"。

分享到:
评论
1 楼 RangerWolf 2012-06-05  
非常感谢啊!

相关推荐

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

    Web服务是一种基于网络的分布式计算技术,允许不同计算机之间通过...通过WSDL文档的结构化描述,开发者能够更加精确地定义服务,而客户端程序则能够通过解析WSDL文档来发现服务的接口细节,并通过网络调用这些服务。

    一个完整的WSDL文档及各标签详解

    ### WSDL文档结构与各标签详解 #### 一、引言 WSDL(Web Services Description Language)是一种基于XML的语言,用于描述网络服务的功能、方法、输入输出格式等信息。通过WSDL文档,不同平台和语言之间的应用程序...

    wsdl 文档 pdf格式

    #### 四、WSDL文档结构 WSDL文档通常包含以下几个主要部分: 1. **Definitions** - 定义了服务的各种元素,如数据类型、消息、端口类型、端口和绑定。 - 这些定义是抽象的,并不依赖于特定的传输协议或消息格式...

    wsdl文件结构分析

    WSDL文档结构包含以下几个关键元素: 1. **Types**:这个元素用于定义数据类型,通常使用XML Schema来定义,以便描述消息中可能的数据结构。 2. **Import**:用于引入其他WSDL文档或XML Schema文档,以便重用和...

    Java解析wsdl文档获取具体的方法与参数

    首先,理解WSDL文档的结构至关重要。WSDL文档包含了服务的端点(即地址)、操作(对应于服务的方法)以及消息和绑定(定义了数据传输的方式)。DOM(Document Object Model)是Java处理XML文档的一种常见方式,它将...

    wsdl中文文档

    **WSDL文档结构** WSDL文档由两大部分组成:抽象定义和具体定义。 1. **抽象定义**: - **Types**:定义独立于编程语言和平台的数据类型。 - **Messages**:描述服务操作所需的输入和输出消息,这些消息可以包含...

    简单WSDL实例

    1. **WSDL文档结构** WSDL文档通常包含以下关键元素: - `wsdl:definitions`:这是WSDL文档的根元素,包含了服务的定义。 - `wsdl:types`:定义数据类型,可以是XML Schema或其他类型系统。 - `wsdl:message`:...

    wsdl教程文档

    WSDL文档结构是定义Web服务的关键。WSDL文档的基本构成包括以下几个主要元素: 1. &lt;definitions&gt;:这是整个WSDL文档的根元素,它定义了WSDL文档中所有其他元素。 2. &lt;types&gt;:这个元素包含Web服务使用的所有数据类型...

    wsdl.exe-生成wsdl的代码

    5. **生成的WSDL文档结构** WSDL文档通常包括以下几个部分: - `types`:定义服务使用的数据类型。 - `message`:描述消息的结构,包括输入和输出参数。 - `portType`:定义服务的操作集合。 - `binding`:指定...

    、WSDL结构分析.rar

    2. **WSDL文档结构** - **&lt;wsdl:definitions&gt;**:WSDL文档的根元素,包含所有其他元素的定义。 - **&lt;wsdl:types&gt;**:定义数据类型,通常使用XSD(XML Schema Definition)来描述消息结构。 - **&lt;wsdl:message&gt;**...

    WebService_WSDL结构分析

    WebService_WSDL结构分析是对WebService_WSDL文档的结构进行了详细的分析,阐述了WSDL文档的组成元素和每个元素的作用。WSDL(Web Services Description Language,Web服务描述语言)是一种XML Application,用于...

    WSDL中文详解(简体中文)

    #### 四、WSDL文档结构 WSDL文档通常包含以下几个关键部分: - **Imports**:用于导入其他WSDL文件或XML Schema文件,便于重用定义。 - **Types**:定义了XSD schema,用于描述消息中数据的类型。 - **Messages**...

    WebService描述语言WSDL详解

    WSDL文档结构: WSDL文档由两个主要部分组成:抽象定义和具体定义。 1. 抽象定义: - **Types**:定义与平台和编程语言无关的数据类型,如简单类型(string, integer等)和复杂类型(自定义对象)。 - **Messages...

    WSDL结构分析详解汇总

    1. **WSDL文档结构** - **服务(Service)**:定义了服务的位置,即在哪里可以找到服务的实现。它由一个或多个端点(Port)组成,每个端点对应服务的一个实例。 - **接口(Interface)**:描述服务提供的操作集合...

    wsdl文件结构详细分析

    WSDL文档的这种结构允许服务提供者和消费者之间进行清晰的通信,确保服务的正确使用和互操作性。开发者可以使用各种工具,如Apache Axis2、CXF和XFire等,来生成和处理WSDL文档,简化Web服务的开发和部署流程。 ...

    Web Service描述语言 WSDL 详解.doc

    WSDL文档结构: WSDL文档通常分为两个主要部分:抽象定义和具体定义。 1. 抽象定义: - Types:这部分定义与平台和编程语言无关的数据类型,如简单类型或复杂类型的XML Schema。 - Messages:描述服务交互中的...

    wsdl详解(webservice)

    WSDL文档结构** WSDL文档主要由以下7个关键元素构成,它们都嵌套在`&lt;definitions&gt;`根元素内: - **types**: 定义数据类型的容器,通常使用XML Schema来定义数据类型。 - **import**: 用于导入其他WSDL文档或XML ...

    WSDL(Web服务描述语言)详细解析

    WSDL文档结构由一系列相互关联的元素构成,主要包括: 1. **types**:这个元素用来定义数据类型,通常使用XML Schema中的类型系统。它是数据结构的容器,为消息中包含的数据提供类型信息。 2. **message**:表示...

    Web Service描述语言 WSDL 详解.pdf

    ### WSDL文档结构 WSDL文档的结构可以分为抽象定义和具体定义两个层次: - **Types**:定义了WSDL中使用的数据类型,通常是XSD(XML Schema Definition)的引用。 - **Messages**:描述了服务交换的数据消息的结构...

Global site tag (gtag.js) - Google Analytics