1. WSDL 是什么
WSDL 指网络服务描述语言 (Web Services Description Language)。 是一种使用 XML 编写的文档。这种文档可描述某个 Web service。它可规定服务的位置,以及此服务提供的操作(或方法)。
2. WSDL 文档结构
WSDL 文档是利用这些主要的元素来描述某个 web service 的:
元素 | 定义 |
<portType> | 最重要的 WSDL 元素,它可描述一个 web service可被执行的操作以及相关的消息。 可以把 <portType> 元素比作传统编程语言中的一个函数库(或一个模块、或一个类)。 |
<message> | 用于描述一个操作的数据元素。每个消息均由一个或多个部件组成。可以把这些部件比作传统编程语言中一个函数调用的参数。 |
<types> | web service 使用的数据类型定义。为了最大程度的平台中立性,WSDL 使用 XML Schema 语法来定义数据类型。 |
<binding> | web service 使用的通信协议元素。为每个端口定义消息格式和协议细节。 |
一个 WSDL 文档的主要结构
l 抽象定义
Types 独立与机器和语言的类型定义
Messages 包括函数参数(输入与输出分开)或文档描述
PortTypes 引用消息部分中消息定义来描述函数签名(操作名、输入参数、输出参数)
2 具体定义
Bindings PortTypes部分的每一操作在此绑定实现
Services 确定每一绑定的端口地址
文档形式为:
<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 文档中。
2.1.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>
2.2.message和portType元素
在这个例子中,<portType>元素把 "glossaryTerms" 定义为某个端口的名称,把 "getTerm" 定义为某个操作的名称。操作 "getTerm" 拥有一个名为 “getTermRequest”的输入消息,以及一个名为 "getTermResponse" 的输出消息。
<message>元素可定义每个消息的部件,以及相关联的数据类型。
对比传统的编程,glossaryTerms 是一个函数库,而 "getTerm" 是带有输入参数 "getTermRequest" 和返回参数 getTermResponse 的一个函数。
2.3.bind元素
<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 属性引用portType,在这个例子中是 "glossaryTerms" 端口。
soap:binding 元素有两个属性 style 属性和 transport 属性。style 属性可取值 "rpc" 或 "document"。在这个例子中我们使用 document。transport 属性定义了要使用的 SOAP 协议。在这个例子中我们使用 HTTP。
operation元素定义了每个端口提供的操作符。对于每个操作,相应的 SOAP 行为都需要被定义。同时您必须如何对输入和输出进行编码(use属性)。在这个例子中我们使用了 "literal"。
分享到:
相关推荐
webservice WSDL 说明文档,适合初学者读懂wsdl信息
详细讲解wsdl语法,清晰,易懂,看完之后,最起码你可以读懂wsdl文档。
wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子
wsdl4j 解析wsdl 文件wsdl4j 解析wsdl 文件wsdl4j 解析wsdl 文件
WSDL(Web服务描述语言)详细解析
使用C#开发的一个WSDL解析器。可以从本地或网络获取WSDL文件进行分析。
wsdl调用测试工具
简单WSDL实例简单WSDL实例简单WSDL实例简单WSDL实例
wsdl.exe-生成wsdl的代码。wsdl.exe-生成wsdl的代码。
之前有人写过,但是有点错误,并且描述不是很清晰。这是我的完整解析wsdl的方法 wsdl wsdl wsdl wsdl wsdl wsdl wsdl wsdl wsdl wsdl wsdl
赠送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...
JavaScript 调用wsdl示例,包含通过dot创建的ws示例
wsdl2java工具 修改WSDL2Java(URL).bat后直接双击运行即可 编辑 WSDL2Java(URL).bat set Axis_Lib=.\lib //引用包 set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib% set Output_Path=.\source //输出目录 set Package...
WSDL 教程WSDL 教程WSDL 教程WSDL 教程WSDL 教程WSDL 教程WSDL 教程
wsdl2java.bat使用方法 wsdl2java包 axis所有的包
抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java(Throws Could not find main class: org.apache.axis.wsdl.WSDL2Java)。 添加本文的jar包压缩包解压出来的所有jar包到当前使用的java.exe 命令的lib目录下的ext...
wsdl开发步骤详解wsdl开发步骤详解wsdl开发步骤详解
wsdl生成java代码的工具,运行wsdl2java.cmd ,可根据代码的实际需求修改成路径, wsdl生成java代码的工具,运行wsdl2java.cmd ,可根据代码的实际需求修改成路径
一个用wsdl4j.jar,ws-commons-java5-1.0.1.jar,XmlSchema-1.3.2.jar完全解析wsdl的例子, 本例子原本是xcalia studio中的一个模块,拿来和初次接触的人参考,因为我走了很多弯路,希望别人能少走。
WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问(类似远程...