web service 之 WSDL(一)
一、WSDL是什么东东?
Web Services Description Language, 用来描述web service 。
手边有一瓶康师傅绿茶,外面有层外包装层上面注明了商标、成分、有效期等等。
WSDL 就像这个外包装层,它描述了web service 的输入、输出、调用方式等信息。
前面说 web service具有自描述性,正是WSDL实现了自描述性。
二、WSDL整体结构
<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>
三、各部分含义
WSDL 文档是利用这些主要的元素来描述某个 web service 的:
元素 定义
<portType> web service 执行的操作
<message> web service 使用的消息
<types> web service 使用的数据类型
<binding> web service 使用的通信协议
portType 可以把 <portType> 元素比作传统编程语言中的一个函数库(或一个模块、或一个类)。
其下的每个operation 可以看做一个方法。
message 元素定义一个操作的数据元素
每个消息均由一个或多个部件组成。可以把这些部件比作传统编程语言中一个函数调用的参数。
types 元素定义 web service 使用的数据类型。
为了最大程度的平台中立性,WSDL 使用 XML Schema 语法来定义数据类型。
binding 元素为每个端口定义消息格式和协议细节。
binding 意绑定。描述如何把operation和SOAP协议关联起来,是把方法绑定到SOAP.
binding 元素有两个属性 - name 属性和 type 属性。
name 属性定义 binding 的名称,而 type 属性指向用于 binding 的端口
soap:binding 元素有两个属性 - style 属性和 transport 属性
style 属性可取值 "rpc" 或 "document"---用于指定SOAP风格。
transport 属性定义了要使用的 SOAP 协议
service 元素指定访问web service的地址
相关推荐
Web Service描述语言(WSDL,Web Services Description Language)是一种用于描述网络服务的XML格式,其目的是为了使网络服务更易于被发现、理解和调用。WSDL文档提供了一种标准的方式来定义网络服务的接口,即服务...
Web Service描述语言 WSDL 详解
Web Service描述语言(WSDL)是一种XML格式的规范,用于描述网络服务,特别是Web服务。WSDL文件定义了服务的位置、使用的消息协议以及如何调用这些服务。它是Web服务接口的蓝图,允许开发者理解服务提供的功能以及...
总结来说,通过理解和利用Web Service及WSDL,我们可以构建一个能够获取天气预报信息的应用。使用IDEA这样的开发工具,可以简化与Web Service的交互过程,使开发更加高效。同时,对于天气预报WSDL的理解和应用,不仅...
Web Service描述语言(WSDL,Web Service Description Language)是一种基于XML的规范,用于定义Web服务的接口和通信细节。WSDL文件是Web服务的核心组成部分,它允许服务提供者明确地描述服务的功能、如何访问这些...
1. **Web Service基础**:Web Service是一种基于互联网的、平台无关的交互方式,允许不同系统之间交换数据和服务。WSDL(Web Services Description Language)文件是XML格式,用于描述Web Service接口、操作和消息...
Web Service 描述语言(WSDL,Web Service Description Language)是一种基于XML的语言,专门用来定义Web服务的接口。WSDL文件提供了详细的规范,让服务提供者和服务消费者能够理解如何交互,从而促进不同系统间的...
本文将详细介绍如何编写一个简单的 WSDL 文件,以及如何根据该 WSDL 文件来编写服务器端与客户端的代码,并最终实现 Web Service 的发布过程。 ### WSDL 文件概述 WSDL 文件分为两个主要版本:WSDL 1.1 和 WSDL ...
本教程将围绕“WSDL生成Web Service java客户端”这一主题,详细介绍如何利用WSDL文件创建Java客户端来调用Web服务。 首先,WSDL文件是一种XML格式的文档,它描述了一个Web服务的接口,包括服务提供的操作、消息...
Web服务是一种基于网络的、平台无关的接口,它通过SOAP(Simple Object Access Protocol)协议传输数据,并使用WSDL描述服务接口。WSDL是XML格式的文档,用于定义服务的端点、消息结构和操作。 对于Java开发者来说...
SOAP 协议和 WSDL 简介是 Web Service 的核心技术,它们提供了一种通用的机制来实现跨语言、跨平台的通讯和交互。通过了解 SOAP 协议和 WSDL 简介,我们可以更好地设计和实现 Web Service,提高系统的可扩展性和可...
2. **WSDL (Web Services Description Language)**:WSDL是一种XML格式的规范,用于描述Web Service及其接口。它定义了服务的位置、可用的消息协议和服务操作。 3. **WSDL First**:这是一种开发Web Service的方法...
本篇教程旨在为读者提供一个完整的 Web Service 入门指南,涵盖了 Web Service 的基本概念、架构、SOAP 协议、WSDL 文件、_WS-Security 等重要知识点。 Web Service 基本概念 Web Service 就是 WEB 服务,能够将...