WSDL详解

合集下载

wsdl文件用法

wsdl文件用法

wsdl文件用法WSDL(Web Services Description Language)是一种用于描述Web 服务的XML语言。

WSDL文件用于定义如何访问和使用特定的Web服务。

它包含了Web服务的详细信息,包括服务地址、可用的操作、操作所需的参数、操作返回的数据类型等。

WSDL文件是从服务端生成的,客户端可以通过解析WSDL文件来了解和使用该Web服务。

以下是WSDL文件的用法和功能的一些详细解释。

1. 描述服务:WSDL文件描述了一个Web服务的所有相关信息。

它指定了服务的名称、命名空间、服务的端口、地址和可用的操作。

2. 定义操作:WSDL文件定义了Web服务可用的操作,并指定了每个操作的名称、输入参数和输出结果。

操作的输入和输出可以是简单的数据类型,也可以是复杂的结构体或对象。

3.指定数据类型:WSDL文件可以定义自定义的数据类型,包括简单类型(如整数、字符串等)和复杂类型(如结构体、数组等)。

4.生成客户端代码:通过解析WSDL文件,客户端可以自动生成与服务进行通信所需的代码。

客户端可以根据WSDL文件中定义的操作和数据类型生成对应的函数调用和相关数据结构。

5.交互规范:WSDL文件规定了客户端与服务端之间的通信协议和消息格式。

它指定了使用哪种协议(如SOAP、HTTP等)来发送请求和接收响应,并定义了请求和响应的消息结构和格式。

6. 发现服务:WSDL文件可以作为服务目录的一部分,提供给其他开发人员用于发现和了解可用的Web服务。

其他人员可以通过查看WSDL文件来了解服务的功能和使用方式。

7. 服务的版本控制:WSDL文件可以将一个Web服务的不同版本进行区分。

通过在WSDL文件中指定版本号,客户端可以选择使用特定版本的服务。

8. 修改服务:当Web服务的接口发生变化时,需要更新对应的WSDL文件。

客户端可以根据新的WSDL文件生成新的代码,以便与更新后的服务进行交互。

10.跨平台和跨语言支持:WSDL文件是基于XML的,具有良好的可扩展性和互操作性。

什么是WSDL

什么是WSDL

什么是WSDLWSDL是一种描述网络服务(network service)的XML格式,网络服务是能对面向文档类型的信息和面向过程的信息进行操作的端点(endpoint)的集合。

对操作和消息的描述是抽象性的,并在定义端点时,将消息和操作绑定到具体的网络协议和消息格式上。

WSDL是可扩展的,它允许对端点和端点间的消息进行描述,同时不去考虑具体的消息格式或者双方用于通讯的网络协议。

一简介随着通讯协议和消息格式在WEB中的标准化,以某种格式化的方法描述通讯变得越来越重要并且其实现的可能性也越来越大。

WSDL通过定义一套XML的语法来描述网络服务的方式满足了这种需求。

WSDL把网络服务定义成一个能交换消息的通讯端点集(communication collection)。

WSDL服务为分布式系统提供了帮助文档,同时该服务也可作为自动实现应用间通讯的解决方案。

一个WSDL文档将服务定义为一个网络端点的集合,或者说端口的集合。

在WSDL里面,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的。

这样就可以重用这些抽象定义:消息,需要交换的数据的抽象描述;端口类型,操作的抽象集合。

针对一个特定端口类型的具体协议和数据格式规范构成一个可重用的绑定。

一个端口定义成网络地址和可重用的绑定的联接,端口的集合定义为服务。

因此一个WSDL文档在定义网络服务的时候使用如下的元素:类型–使用某种的类型系统(比如XSD)定义数据类型的容器消息–通讯数据抽象的有类型的定义操作–服务支持的动作的抽象描述端口类型–一个操作的抽象集合,该操作由一个或多个端点支持绑定–针对一个特定端口类型的具体的协议规范和数据格式规范端口–一个单一的端点,定义成一个绑定和一个网络地址的联接服务–相关的端点的集合我们可以注意到WSDL并没有引入一种新的类型语言,这一点非常重要。

为了描述消息的结构,需要具有丰富类型的系统,WSDL意识到了这种需求,因此它支持XML的schema 规范作为它的规范的类型系统。

WSDL文件结构详解

WSDL文件结构详解

wsdl文件结构分析WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问(类似远程过程调用)。

WSDL首先对访问的操作和访问时使用的请求/响应消息进行抽象描述,然后将其绑定到具体的传输协议和消息格式上以最终定义具体部署的服务访问点。

相关的具体部署的服务访问点通过组合就成为抽象的Web服务。

本文将详细讲解WSDL文档的结构,并分析每个元素的作用。

一:WSDL定义WSDL是一个用于精确描述Web服务的文档,WSDL文档是一个遵循WSDL XML模式的XML文档。

WSDL 文档将Web服务定义为服务访问点或端口的集合。

在 WSDL 中,由于服务访问点和消息的抽象定义已从具体的服务部署或数据格式绑定中分离出来,因此可以对抽象定义进行再次使用:消息,指对交换数据的抽象描述;而端口类型,指操作的抽象集合。

用于特定端口类型的具体协议和数据格式规范构成了可以再次使用的绑定。

将Web访问地址与可再次使用的绑定相关联,可以定义一个端口,而端口的集合则定义为服务。

一个WSDL文档通常包含7个重要的元素,即types、import、message、portType、operation、binding、 service元素。

这些元素嵌套在definitions 元素中,definitions是WSDL文档的根元素。

文章的下一部分将会详细介绍WSDL 的基本结构。

二:WSDL的基本结构--概述如第一部分最后描述的那样,一个基本的WSDL文档包含7个重要的元素。

下面将分别介绍这几个元素以及他们的作用。

WSDL 文档在Web服务的定义中使用下列元素:· Types - 数据类型定义的容器,它使用某种类型系统(一般地使用XML Schema中的类型系统)。

wsdl文件用法(一)

wsdl文件用法(一)

wsdl文件用法(一)WSDL文件简介WSDL(Web Services Description Language)是一种用于描述WebService的XML格式文件。

它定义了WebService的接口、参数、操作和数据格式等信息,可以帮助开发者了解和使用特定的WebService。

WSDL文件的用途•WebService接口定义:WSDL文件提供了详细的WebService接口定义,包括可用操作、输入参数和输出结果等信息。

开发者可以通过查看WSDL文件来理解和调用特定WebService。

•自动生成客户端代码:WSDL文件可以用于生成客户端代码,使开发者可以更方便地调用WebService。

许多开发框架和工具(如SOAPUI、Apache CXF)都支持根据WSDL生成客户端代码。

•WebService测试:WSDL文件可以作为测试的依据,测试人员可以根据WSDL文件中定义的接口和操作,编写相关的测试用例和断言条件。

•WebService文档化和交流:WSDL文件可以作为文档,用于记录WebService的接口和数据格式等定义,便于开发者和团队之间的交流和理解。

WSDL文件的结构•Definitions:WSDL文件的根元素,包含了整个文件的定义和命名空间等信息。

•Types:定义了WebService中使用的数据类型,可以是基本类型、复合类型或自定义类型。

•Message:定义了WebService的消息,包括消息的名称和消息中使用的数据类型。

•PortType:定义了WebService的接口,包括可用的操作和操作的输入输出等信息。

•Binding:将WebService的接口定义与具体的通信协议绑定在一起,如SOAP、HTTP等。

•Service:定义了WebService的服务地址和服务的实现名称等信息。

WSDL文件的编写和使用1.创建WSDL文件:可以使用文本编辑器创建一个扩展名为.wsdl的文件。

WSDL文件结构详解

WSDL文件结构详解

WSDL文件结构详解WSDL(Web Services Description Language)是一种用于描述Web 服务的XML格式文件,它定义了服务的接口和消息格式。

WSDL文件的结构非常重要,它包含了用户和开发者需要了解的所有信息。

下面详细解释WSDL文件的结构。

3. 类型(Types):在定义元素中,类型元素定义了用于通信的消息的数据类型,它可以包含XML模式定义语言(XSD)的定义。

这些定义描述了Web服务请求和响应的数据结构。

4. 抽象(Abstract):在定义元素中,抽象元素定义了Web服务的操作。

每个抽象元素都描述了一个操作,包括输入消息和输出消息。

抽象元素是独立于具体协议的,也就是说,它描述的是服务接口,而不是具体的通信协议。

5. 绑定(Bindings):在定义元素中,绑定元素将抽象元素与具体的通信协议进行绑定。

它描述了如何将抽象操作映射到实际的请求和响应消息格式。

绑定元素通常包含一个或多个操作元素,每个操作元素定义一个特定的Web服务操作。

6. 服务(Services):在定义元素中,服务元素定义了Web服务的具体实例。

它包含一个或多个端口元素,每个端口元素定义了一个具体的网络终点。

每个端口元素都与一个特定的绑定元素相关联,这样可以将具体的消息格式和协议绑定到服务端点上。

7. 导入(Import):WSDL文件中可以使用导入元素引入其他WSDL 文件或XSD文件。

导入元素允许将多个文件组织在一起,以便更好地管理和维护。

总的来说,WSDL文件的结构主要包括命名空间定义、定义元素、类型元素、抽象元素、绑定元素、服务元素和导入元素。

这些元素之间的关系是层次化的,每个元素都有其特定的作用。

WSDL文件的结构非常重要,它提供了Web服务的所有信息,描述了服务的接口和消息格式。

通过使用WSDL文件,用户和开发者可以了解如何与Web服务进行交互,以及如何解析和构造消息。

因此,了解WSDL文件的结构对于理解和使用Web服务非常关键。

WSDL

WSDL

WSDL Bindings
<binding> 元素,定义使用的具体的传送协议,如http/smtp等等,还定义承载消息使用 的协议:soap。 ※每一个operation都含有一个input 子元素和一个output子元素。 ※这里operation 与portType里operation子元素的关系。 <defintions…> <binding name="SampleBinding" type="tns:SamplePortType"> <soap:binding style="rpc" transport="/soap/http"/> <operation name="foo"> <soap:operation soapAction=“”/ style=…>//覆盖soap:binding里面定义的style <input> <soap:body use="encoded" namespace=“…" encodingStyle="/soap/encoding/" /> </input> <output> <soap:body use="encoded" namespace=“…" encodingStyle="/soap/encoding/" /> </output> </operation> </binding> </defintions>
WSDL 元素
WSDL 元素基于XML语法描述了与服务进行交互的基本元素: Type(消息类型):数据类型定义的容器,它使用某种类型系统(如 XSD)。

WSDL的原理

WSDL的原理

WSDL的原理
Web服务描述语言(WSDL)是一种用来描述Web服务的XML标准。

它使得在不同的系统间进行通信变得更加容易,因为它描述Web服务
的定义,位置和方法。

这些描述允许系统的开发者通过提供标准化的
接口与各种应用程序进行交互。

WSDL是一种基于XML的技术,它使用特定的标记来定义Web服务,允许使用者在不同系统之间进行通信。

它可以使用一组称为“消息”
的工具来定义和描述Web服务,消息由三个部分组成:指令、报文及
服务。

指令定义了Web服务的请求和响应,这些指令可以是一组操作
(如Get 和 Put),也可以是如RPC(Remote Procedure Call)等特
定操作。

报文是描述传输数据类型和格式的XML,它可以用来描述应用
消息,以及定义提交给Web服务的数据。

最后,服务是描述Web服务
如何在网络上发布和使用的描述,它可以提供Web服务的URL,以及相
关的绑定和端口。

WSDL的架构使得不同的系统也可以共享数据。

当系统需要提供或
者接收数据时,它可以按照WSDL定义好的工作流,获得数据的报文格
式和指令,进而对请求进行响应。

WSDL的使用可以使Web服务的发现、使用和集成变得简单。

它可
以帮助开发人员快速开发复杂的交互应用程序,并且可以用来提升Web
服务的可用性和可扩展性。

WSDL文件简介(附例子)

WSDL文件简介(附例子)

WSDL文件简介(附例子)展开全文本文介绍了如何编写一个简单的WSDL文件,并根据WSDL文件编写服务器端和客户端代码,并发布Web Service服务的过程。

首先明确的一点是WSDL现在有两个版本,分别为WSDL 1.1和WSDL 2.0,W3C的官方文档地址分别为:Web Services Descrīption Language (WSDL) 1.1W3C Note 15 March 2001和Web Services Descrīption Language (WSDL) Version 2.0 Part 0: PrimerW3C Working Draft 26 March 2007其中很多应用还是以版本1.1为基础实现。

下面是2.0与1.1的区别:Adding further semantics to the descrīption language.Removal of message constructs.No support for operator overloading.PortTypes renamed to interfaces.Ports renamed to endpoints.下面是一些常见的命名空间:prefix namespace URIwsdl /wsdl/soap /wsdl/soap/http /wsdl/http/mime /wsdl/mime/soapenc /soap/encoding/soapenv /soap/envelope/xsi /2000/10/XMLSchema-instancexsd /2000/10/XMLSchematns (various)对于WSDL规范,可以参考以上两个官方文档,本文主要介绍如何编写WSDL文档(其实官方文档中已经给出了很多例子和方法,这里只是简单的翻译与重复介绍)。

下面举例说明如何编写WSDL文档:我们做一个非常简单的加法运算服务:客户端传入SOAP请求消息,包含两个加数,然后在服务器端获取这两个加数,求和,然后返回给客户端。

wsdl标准

wsdl标准

wsdl标准
WSDL(Web Services Description Language)是一种用于描述网络服务的标准,它使用XML 格式来定义Web 服务的接口和消息格式。

WSDL 提供了一种统一的方式,使得不同平台、不同技术栈的应用程序可以相互通信和交互。

以下是WSDL 的一些关键特点和组成部分:
1. 接口描述:WSDL 文件定义了Web 服务的接口,包括可调用的操作和消息的结构。

它描述了每个操作的输入参数、输出结果以及可能出现的错误信息。

2. 协议绑定:WSDL 可以与具体的传输协议进行绑定,例如SOAP、HTTP、SMTP 等。

通过指定协议绑定,可以告知客户端如何与服务进行通信。

3. 消息格式:WSDL 定义了Web 服务的消息格式,使用XML 架构描述数据结构。

它指定了输入和输出消息的元素、类型和顺序,以便客户端和服务端能够正确解析和处理消息。

4. 服务地址:WSDL 文件中包含了Web 服务的地址信息,指示客户端可以通过哪个URL 来访问该服务。

5. 扩展机制:WSDL 支持扩展机制,允许开发人员自定义和扩展标准的WSDL 描述。

这样可以为特定领域或需求定制更具体的描述。

总之,WSDL 是一种用于描述Web 服务接口、消息和协议的标准,它提供了一种规范的方式,使得不同平台和技术的应用程序能够互相理解和交互。

1。

wsdl文件用法

wsdl文件用法

wsdl文件用法WSDL文件的用途WSDL文件(Web Services Description Language)是一种用于描述Web服务的XML格式文件。

它定义了如何访问Web服务以及Web服务提供的功能和参数。

下面是WSDL文件的一些常见用法及详细解释:描述Web服务的接口和操作•WSDL文件用于描述Web服务的接口,包括输入和输出消息的结构和类型。

它定义了Web服务的可用方法、操作以及它们的输入和输出参数。

通过WSDL文件,开发人员可以清楚地了解Web服务提供的功能,并按照指定的参数和格式进行调用。

指定Web服务的绑定和协议•WSDL文件可以指定Web服务使用的协议和绑定。

它可以描述Web 服务的传输协议(如HTTP、SOAP等)以及与之相关的绑定细节(如SOAP消息结构、编码方式等)。

通过WSDL文件,开发人员可以了解可以与Web服务进行交互的协议和细节,从而进行相应的配置和集成。

自动生成Web服务客户端和代理类•基于WSDL文件,开发人员可以使用各种工具自动生成Web服务客户端和代理类。

这些工具可以根据WSDL文件的定义,自动生成与Web服务一致的客户端代码,使得开发人员可以方便地使用各种编程语言进行Web服务的调用和开发。

支持Web服务的自动发现和注册•WSDL文件通过描述Web服务的位置、功能和参数,支持Web服务的自动发现和注册。

通过WSDL文件,开发人员可以了解Web服务的位置和提供者,从而可以自动发现可用的Web服务,并将其注册到相应的服务目录或注册中心中,使得其他应用程序可以方便地访问和使用这些Web服务。

提供Web服务的文档和说明•WSDL文件可以作为Web服务的文档和说明,提供详细的描述和说明。

它可以包含关于Web服务的各种元数据、操作的描述、参数的说明等内容。

通过WSDL文件,开发人员和用户可以了解Web服务的功能、使用方法和参数等,从而可以更好地使用和集成这些Web服务。

webservice wsdl详解及调用

webservice wsdl详解及调用

WebService是一种跨网络的服务通信方法,它允许不同机器、不同语言之间的程序进行通信。

WSDL(Web Services Description Language)是一种XML格式的文档,用于描述Web服务的接口信息,包括服务的方法、参数和返回值等。

通过WSDL文档,客户端可以知道如何调用Web服务。

WSDL详解:1. 类型(Types):定义了Web服务中使用的数据类型,包括简单类型和复杂类型。

2. 消息(Message):定义了Web服务中的输入和输出参数,每个消息都包含一个或多个参数。

3. 端口类型(PortType):定义了Web服务中的方法(操作),以及方法的输入和输出消息。

4. 绑定(Binding):定义了Web服务的协议(如SOAP)和数据格式(如XML),以及端口地址。

5. 服务(Service):定义了Web服务的访问地址。

调用WebService的步骤:1. 获取WSDL文档:可以通过访问Web服务的URL获取WSDL文档。

2. 解析WSDL文档:使用工具(如wsimport、svcutil等)根据WSDL文档生成客户端代码。

3. 调用Web服务:使用生成的客户端代码调用Web服务的方法。

以Java为例,使用wsimport工具生成客户端代码并调用Web服务:```java// 导入生成的客户端代码import com.example.webservice.MyWebService;import com.example.webservice.MyWebServicePortType;public class WebServiceClient {public static void main(String[] args) {// 创建WebService代理对象MyWebServiceService service = new MyWebServiceService();MyWebServicePortType port = service.getMyWebServicePort();// 调用Web服务的方法String result = port.myMethod("Hello, WebService!");// 输出结果System.out.println("Result: " + result);}}```。

第七章 WSDL

第七章 WSDL

7.2 WSDL 文档结构
文档的主要元素
元素 <portType> <message> <types> <binding> 定义 web service 执行的操作 web service 使用的消息 web service 使用的数据类型 web service 使用的通讯协议
文档结构
import元素
• import元素使得可以在当前的WSDL文档中 使用其他Schema或WSDL文档中指定的命 名空间中定义的元素。它经常被用在模块 化的WSDL文档。import的格式如下:
<wsdl:import namespace=URI location=URI/>
• 必须有namespace属性和location属性:
ProgramService.wsdl
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:wsdl="/wsdl/" xmlns:soap="/wsdl/soap/" xmlns:http="/wsdl/http/" xmlns:xs="/2001/XMLSchema" xmlns:soapenc="/soap/encoding/" xmlns:mime="/wsdl/mime/" xmlns:tns="/PPMS/services/ProgramService" xmlns:ns="/PPMS/messages/ProgramService" xmlns:ns2="/esb/messagehead/1.0" targetNamespace="/PPMS/services/ProgramService"> …… </wsdl:definitions>

WSDL

WSDL

WSDL是web service标准当中描述语言,服务器端通过wsdl可以描述发布的服务,客户端通过获取服务端提供的wsdl了解服务器端,以便调用服务器端提供的服务。

元素定义<portType>web service 执行的操作<message>web service 使用的消息<types>web service 使用的数据类型<binding>web service 使用的通信协议<service>web service 使用的服务名称和地址下面分段了解一下wsdl的详细描述吧。

我们通过一个搜索方法来描述,该方法提供输入搜索字段和搜索关键字,分别是String类型的。

返回结果是一个结果集,用List类型保存。

我们按照上面的表格来一个个的分析下WSDL的构成。

<service>元素描述Xml代码1.<wsdl:service name="SimpleSearch_Server">2. <wsdl:port name="SimpleSearch_ServerHttpPort" binding="tns:SimpleSearch_ServerHttpBinding">3. <wsdlsoap:address location="http://localhost:8080/Patent_Demo/services/SimpleSearch_Server" />4. </wsdl:port>5.</wsdl:service>1. 申明该服务的名称是SimpleSearch_Server2. Binding表示需要绑定的通信协议是什么,绑定到wsdl当中的binding 元素,这里指定到SimpleSearch_ServerHttpBinding当中。

Web服务描述语言WSDL

Web服务描述语言WSDL

▪ WSDL首先对访问的操作和访问时使用的请求/响 应消息进行抽象描述,然后将其绑定到具体的传 输协议和消息格式上,以最终定义具体部署的服 务访问端点。
▪ 在具体使用中,可以使用任意的消息格式和网络 协议。
▪ 在WSDL规范中,定义了如何使用SOAP消息格式、
HTTP GET/POST消息格式以及MIME格式来完成
▪ xsi /2000/10/XMLSchema-instance
▪ xsd /2000/10/XMLSchema
14
计算机学院
14
WSDL文档框架
▪ <wsdl:definitions name="nmtoken"? targetNamespace="uri"?> ▪ <import namespace="uri" location="uri"/>* ▪ <wsdl:types> ? ……</wsdl:types> ▪ <wsdl:message name=“nmtoken”>* ▪ ……</wsdl:message> ▪ <wsdl:portType name="nmtoken">* ▪ ……</wsdl:portType> ▪ <wsdl:binding name="nmtoken" type="qname">* ▪ ……</wsdl:binding> ▪ <wsdl:service name="nmtoken">*……</wsdl:service> ▪ </wsdl:definitions>

wsdl文件解读

wsdl文件解读

为什么使用WSDL?像Internet协议之类的标准有没有为权威所利用,或者人们这样看待它是因为顺之所获的好处远远超出了代价?曾经有许多试图建立的标准都流产了。

有时候,那些还没有普遍使用的标准甚至由法令或政府规定强行推出:Ada语言就是一例。

我相信正是跟随标准所带来的好处使它广泛接受。

例如,对于铁路服务来说,真正重要的是,不同公司所铺设的铁路结合到一起,或者是来自好几个公司的产品协调的工作在一起。

几家大的企业合力建立了SOAP标准。

Web Service描述语言(WSDL)向这种Web Service的提供商和用户推出了方便的协调工作的方法,使我们能更容易的获得SOAP的种种好处。

几家公司的铁道并在一起不算什么难事,他们所需遵循的只是两轨间的标准距离。

对Web Service来说,这要复杂得多。

我们必须先制定出指定接口的标准格式。

曾经有人说SOAP并不真需要什么接口描述语言。

如果SOAP是交流纯内容的标准,那就需要一种语言来描述内容。

SOAP消息确实带有某些类型信息,因此SOAP允许动态的决定类型。

但不知道一个函数的函数名、参数的个数和各自类型,怎么可能去调用这个函数呢?没有WSDL,我可以从必备文档中确定调用语法,或者检查消息。

随便何种方法,都必须有人参与,这个过程可能会有错。

而使用了WSDL,我就可以通过这种跨平台和跨语言的方法使Web Service代理的产生自动化。

就像COM和CORBA的IDL文件,WSDL文件由客户和服务器约定。

注意由于WSDL设计成可以绑定除SOAP以外的其他协议,这里我们主要关注WSDL在HTTP上和SOAP的关系。

同样,由于SOAP目前主要用来调用远程的过程和函数,WSDL支持SOAP传输的文档规范。

WSDL 1.1已经作为记录递交给W3C(见/TR/wsdl.html)。

WSDL文档结构若要理解XML文档,将之看作块状图表非常有用。

下图以XML的文档形式说明了WSDL的结构,它揭示了WSDL文档五个栏之间的关系。

WebService 之 WSDL文件 讲解

WebService 之 WSDL文件 讲解

WebService 之 WSDL文件讲解恩,我想说的是,是不是经常有人在开发的时候,特别是和第三方有接口的时候,走的是SOAP协议,然后用户给你一个WSDL文件,说按照上面的进行适配,嘿嘿,这个时候,要是你以前没有开发过,肯定会傻眼,那如果你想学习的话,就认真的看下面的讲解咯:一、WSDL概述WebServices Description Language (WSDL Web服务语言)是一个用于精确描述Web Service 的文档格式。

WSDL非常适合于用作代码生成器,它能够读取WSDL文档,并且可以为访问Web服务生成一个程序化的接口,大多数软件供应商和主要的标准机构(包括 W3C、WS-I和OASIS)都支持WSDL。

例如:JAX-RPC provider(例如:BEA Weblogic)通过API用WSDL生成相应的占位程序;IBM WebSphere、以及Apache Axis都有自己的工具生成相关的代码。

下图是一个例子:上面的例子JAX-RPC通过读取WSDL文档,创建JAX-RPC RMI接口(endpoint接口)和实现此接口的网络占位程序(stub)。

客户端程序通过RMI接口,Stub和Web Service服务端交换SAOP消息。

二、WSDL基本结构WSDL文档是一个遵循WSDL XML模式的XML文档(文档实例);类似于:SOAP文档是一个遵循SOAP XML模式的XML文档(文档实例);一个WSDL文档的根元素是definitions元素,WSDL文档包含7个重要的元素:types, import, message, portType, operations, binding和service元素。

三、WSDL声明3.1 XML声明<?xml version="1.0" encoding="UTF-8"?>WSDL的声明必须定义成使用:UTF-8 或者UTF-16 编码。

WSDL详解

WSDL详解

WSDL详解(一)2011-03-25 13:43:57标签:WSDL休闲职场WSDL文档使用web服务描述语言来定义服务。

文档包括逻辑(抽象)部分和具体部分。

抽象部分用于定义独立于实现的数据类型和消息,具体部分定义一个endpoint如何实现一个可以与外界进行交互的服务。

通常建议在写代码前定义WSDL文档和XML schema,但是这就要求对WSDL非常熟悉。

逻辑部分:包括types,message以及portType元素。

types元素中,xml schema用来定义组成消息的数据的结构。

一定数量的消息元素用来定义服务所用消息的格式。

portType元素包括一个或多个operation元素,用来定义被operation发送的消息。

具体部分:包括binding和service元素。

binding元素描述message元素描述的那些数据单元如何映射到一个具体的数据格式。

Service元素包括一个或多个port元素,这些port元素用于定义endpoint。

总体上来说,一个WSDL文档有以下元素组成:definitions--WSDL文档的根元素,该元素的属性指明了wsdl文档的名称,文档的目标名字空间,以及WSDL文档应用的名字空间的速记定义。

types--数据单元的xml样式定义,形成了服务所用消息的构建块。

portType---描述服务逻辑接口的operation元素的集合。

operation--一个服务包含的操作的描述,当操作被调用时,操作被定义为两个endpoint之间的消息传递。

binding---一个endpoint的实际数据格式说明,一个binding元素定义如何将一个抽象消息映射到一个具体数据格式。

该元素指明诸如参数顺序,返回值等信息。

service---相关port元素的集合,这些元素被库藏,用户组织endpoint定义。

port--通过binding和物理地址定义的endpoint,这个元素将所有抽象定义聚集在一起。

WSDL教程

WSDL教程

WSDL 教程WSDL(网络服务描述语言,Web Services Description Language)是一门基于 XML 的语言, (网络服务描述语言, 的语言, ) 以及如何对它们进行访问。

用于描述 Web Services 以及如何对它们进行访问。

WSDL 简介WSDL 是基于 XML 的用于描述 Web Services 以及如何访问 Web Services 的语言。

的语言。

您应当具备的基础知识在继续学习之前,您需要对下面的知识有基本的了解:• XML • XML 命名空间 • XML Schema如果您希望首先学习这些项目,请访问我们的 XML 系列教程。

什么是 WSDL?• WSDL 指网络服务描述语言 • WSDL 使用 XML 编写 • WSDL 是一种 XML 文档 • WSDL 用于描述网络服务 • WSDL 也可用于定位网络服务 • WSDL 还不是 W3C 标准WSDL 可描述网络服务(Web Services) 可描述网络服务( )WSDL 指网络服务描述语言 (Web Services Description Language)。

WSDL 是一种使用 XML 编写的文档。

这种文档可描述某个 Web service。

它可规定服务的位置,以及 此服务提供的操作(或方法)。

在 W3C 的 WSDL 发展史在 2001 年 3 月,WSDL 1.1 被 IBM、微软作为一个 W3C 纪录(W3C note)提交到有关 XML 协 议的 W3C XML 活动,用于描述网络服务。

(W3C 纪录仅供讨论。

一项 W3C 纪录的发布并不代表它已被 W3C 或 W3C 团队亦或任何 W3C 成 员认可。

)在 2002 年 7 月,W3C 发布了第一个 WSDL 1.2 工作草案。

请在我们的 W3C 教程 阅读更多有关规范的状态及时间线。

WSDL 文档WSDL 文档仅仅是一个简单的 XML 文档。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 端口<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="/soap/http" /><operation><soap:operationsoapAction="/getTerm" /><input><soap:body use="literal" /></input><output><soap:body use="literal" /></output></operation></binding>binding元素有两个属性 - name 属性和 type 属性。

相关文档
最新文档