`
lsong89
  • 浏览: 39967 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

WSDL

阅读更多

WSDL
Web Services Description Language的缩写,是一个用来描述Web服务和说明如何与Web服务通信的XML语言。
用于描述Web service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具 既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应Web service的代码。

WSDL 文件包含以下元素:
  Type:使用某种语法(如 XML 模式)的数据类型定义(string、int) Message:要传递的数据 Part:消息参数 Operation:服务支持的操作的抽象描述 Port Type / Interface:一个或多个端点支持的操作的抽象集。此名称已更改,因此可能会遇到两者中的任何一个。 Binding:特定端口类型的具体协议和数据格式规范 Port / Endpoint:绑定和网络地址的组合。此名称也已更改,因此可能会遇到两者中的任何一个。 Service:相关端点的集合,包括其关联的接口、操作、消息等。

WSDL 文档结构
  WSDL 文档是利用这些主要的元素来描述某个 web service 的:
  元素 定义
  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 文件中。


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

WSDL 文档
WSDL 文档仅仅是一个简单的 XML 文档。它包含一系列描述某个 web service 的定义。
元素 定义
<portType> web service 执行的操作(比作传统编程语言中的一个函数库(或一个模块、或一个类))
<message> web service 使用的消息(每个消息均由一个或多个部件组成。可以把这些部件比作传统编程语言中一个函数调用的参数。)
<types> web service 使用的数据类型(使用 XML Schema 语法来定义数据类型。)
<binding> web service 使用的通信协议(每个端口定义消息格式和协议细节。)

WSDL 端口
<portType> 元素是最重要的 WSDL 元素。
它可描述一个 web service、可被执行的操作,以及相关的消息。端口定义了指向某个 web service 的连接点。可以把该元素比作传统编程语言中的一个函数库(或一个模块、或一个类),而把每个操作比作传统编程语言中的一个函数。
类型 定义
One-way 此操作可接受消息,但不会返回响应。
Request-response 此操走可接受一个请求并会返回一个响应
Solicit-response 此操作可发送一个请求,并会等待一个响应。
Notification 此操作可发送一条消息,但不会等待响应。

WSDL 绑定
WSDL 绑定可为 web service 定义消息格式和协议细节。
一个 请求 - 响应 操作的例子:
<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"。

WSDL 和 UDDI
UDDI 是一种目录服务,企业可以使用它对 Web services 进行注册和搜索。
UDDI,英文为 "Universal Description, Discovery and Integration",可译为“通用描述、发现与集成服务”。
什么是 UDDI?
UDDI 是一个独立于平台的框架,用于通过使用 Internet 来描述服务,发现企业,并对企业服务进行集成。
• UDDI 指的是通用描述、发现与集成服务
• UDDI 是一种用于存储有关 web services 的信息的目录。
• UDDI 是一种由 WSDL 描述的 web services 界面的目录。
• UDDI 经由 SOAP 进行通信
• UDDI 被构建入了微软的 .NET 平台

WSDL 语法
描述于 W3C 工作草案的完整 WSDL 1.2 语法已列在下面:
<wsdl:definitions name="nmtoken"? targetNamespace="uri">

    <import namespace="uri" location="uri"/> *

    <wsdl:documentation .... /> ?

    <wsdl:types> ?
        <wsdl:documentation .... /> ?
        <xsd:schema .... /> *
    </wsdl:types>

    <wsdl:message name="ncname"> *
        <wsdl:documentation .... /> ?
        <part name="ncname" element="qname"? type="qname"?/> *
    </wsdl:message>

    <wsdl:portType name="ncname"> *
        <wsdl:documentation .... /> ?
        <wsdl:operation name="ncname"> *
            <wsdl:documentation .... /> ?
            <wsdl:input message="qname"> ?
                <wsdl:documentation .... /> ?
            </wsdl:input>
            <wsdl:output message="qname"> ?
                <wsdl:documentation .... /> ?
            </wsdl:output>
            <wsdl:fault name="ncname" message="qname"> *
                <wsdl:documentation .... /> ?
            </wsdl:fault>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:serviceType name="ncname"> *
        <wsdl:portType name="qname"/> +
    </wsdl:serviceType>

    <wsdl:binding name="ncname" type="qname"> *
        <wsdl:documentation .... /> ?
        <-- binding details --> *
        <wsdl:operation name="ncname"> *
            <wsdl:documentation .... /> ?
            <-- binding details --> *
            <wsdl:input> ?
                <wsdl:documentation .... /> ?
                <-- binding details -->
            </wsdl:input>
            <wsdl:output> ?
                <wsdl:documentation .... /> ?
                <-- binding details --> *
            </wsdl:output>
            <wsdl:fault name="ncname"> *
                <wsdl:documentation .... /> ?
                <-- binding details --> *
            </wsdl:fault>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="ncname" serviceType="qname"> *
        <wsdl:documentation .... /> ?
        <wsdl:port name="ncname" binding="qname"> *
            <wsdl:documentation .... /> ?
            <-- address details -->
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>

 

 

--------------------------------------------------------------------------------------------------
我们的淘客网开通啦,欢迎大家去逛逛~\(≧▽≦)/~啦啦啦~~~
淘乐园:http://taoleyuan.jimdo.com
淘宝购物资讯网:http://taoke178.jimdo.com

4
3
分享到:
评论

相关推荐

    wsdl4j 解析wsdl 文件

    WSDL4J是一个Java库,专门用于解析和操作Web服务描述语言(WSDL)文件。WSDL是一种XML格式,用于定义网络服务的接口,包括其输入、输出、操作和服务绑定等信息。理解WSDL4J的工作原理和使用方法对于开发和消费基于...

    wsdl例子wsdl例子wsdl例子

    标题中的“wsdl例子”重复多次,显然在强调WSDL(Web Service Description Language)这一主题,而描述中的内容虽然重复,但可以理解为对WSDL的深入探讨或示例的展示。 **WSDL(Web Service Description Language)...

    wsdl调用测试工具

    在IT行业中,WSDL(Web Services Description Language)是一种XML格式的规范,用于描述Web服务及其接口。它定义了服务提供商和消费者之间的交互方式,包括消息格式、操作、地址和协议等。当我们面对“WSDL调用测试...

    JavaScript 调用wsdl示例

    JavaScript调用WSDL(Web Service Definition Language)是Web服务客户端编程的一个重要方面,尤其是在需要与SOAP(Simple Object Access Protocol)服务交互时。本示例主要介绍如何在JavaScript中使用不同的库和...

    wsdl生成java代码工具

    在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而WSDL(Web Services Description Language)则是一种XML格式,用于定义Web服务的具体操作、消息结构、接口和绑定。本篇文章将详细探讨“wsdl生成java...

    onvif所有 wsdl文件

    WS-Discovery、WS-Profile、WS-Security等是ONVIF协议中的关键部分,其中WS-Device管理和WS-Video等服务使用WSDL(Web Services Description Language)文件来描述其接口和服务。 标题提及的“onvif所有 wsdl文件”...

    wsdl需要的jar包

    Web服务描述语言(WSDL,Web Services Description Language)是一种XML格式,用于定义Web服务的接口,使得客户端和服务端能够理解如何交互。WSDL文件描述了服务的位置、服务使用的消息协议以及服务提供的操作。在...

    javax.wsdl jar包

    【javax.wsdl jar包】是Java Web服务定义语言(Web Services Description Language)的一个核心库,主要用在开发基于Java的Web服务中。这个jar包包含了处理WSDL文档所需的所有类和接口,允许开发者创建、读取和修改...

    wsdl2java命令使用

    **WSDL2Java命令使用详解** 在Web服务开发中,WSDL(Web Service Description Language)是一种XML格式,用于定义服务接口、操作、消息结构等。它使得服务提供者和服务消费者可以进行互操作。Apache Axis是Java平台...

    WSDL.rar_C# 解析wsdl文件_WSDL_解析WSDL

    在IT行业中,Web服务是应用程序之间交互的一种标准方式,而WSDL(Web Services Description Language)则是用来定义这些服务接口的XML格式规范。本项目“WSDL.rar”提供了一个C#编写的WSDL解析器,旨在帮助开发者更...

    Postman调用wsdl配置说明

    对于Web Service接口,尤其是基于WSDL(Web Services Description Language)的服务,Postman同样提供了强大的支持。本文将详细阐述如何在Postman中配置并调用WSDL接口。 首先,我们需要理解WSDL。WSDL是一种XML...

    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; 赠送Maven依赖信息文件:wsdl4j-1.6.3.pom; 包含翻译后的API文档:wsdl4j-1.6.3-javadoc-API...

    WSDL2Objc下载工具

    WSDL(Web Services Description Language)是一种XML格式,用于定义网络服务的接口,描述了服务的位置、消息格式以及如何调用这些服务。对于iOS开发者来说,与Web服务交互时,通常需要将WSDL接口转换为Objective-C...

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

    在IT行业中,尤其是在Web服务开发领域,WSDL(Web Service Description Language)是一种XML格式的规范,用于定义网络服务的接口。Java作为一种广泛使用的编程语言,提供了处理WSDL文档的能力,帮助开发者获取服务中...

    wsdl.rar_WSDL

    在本压缩包“wsdl.rar”中,包含了若干个WSDL文档,这对于学习和理解WebService的开发者来说是一份宝贵的学习资料。 **1. WSDL基本结构** WSDL文档由一系列元素组成,包括服务、消息、操作、绑定、端口类型和接口。...

    完整的WSDL解析,每一个标签都有得到

    **WSDL(Web Service Description Language)详解** WSDL,全称Web服务描述语言(Web Service Description Language),是一种XML格式的规范,用于定义网络服务的接口。它为Web服务提供了标准化的描述方法,使得...

    通过本地java代码访问wsdl接口

    标题中的“通过本地Java代码访问WSDL接口”指的是在Java编程环境中,利用WSDL(Web Service Description Language)文件来创建客户端代理类,从而调用远程Web服务。WSDL是一种XML格式,它定义了Web服务的接口,包括...

    javax.wsdl_1.6.2.v201012040545.jar

    【标题】"javax.wsdl_1.6.2.v201012040545.jar" 是一个Java Web Services Description Language (WSDL) 的实现库,由Java Community Process (JCP) 提供,版本号为1.6.2,发布日期为2010年12月4日。 【描述】该jar...

    手动生成WSDL代理类

    ### 手动生成WSDL代理类:深入理解与实践 在软件开发中,Web Service作为一种流行的分布式计算模型,允许不同应用程序之间进行数据交换和方法调用,而WSDL(Web Services Description Language)则作为描述Web ...

Global site tag (gtag.js) - Google Analytics