WSDL 文档结构
它可描述一个 web service、可被执行的操作,以及相关的消息。
可以把 <portType> 元素比作传统编程语言中的一个函数库(或一个模块、或一个类)。
元素定义一个操作的数据元素。
每个消息均由一个或多个部件组成。可以把这些部件比作传统编程语言中一个函数调用的参数。
元素定义 web service 使用的数据类型。
为了最大程度的平台中立性,WSDL 使用 XML Schema 语法来定义数据类型。
元素为每个端口定义消息格式和协议细节。
比如 extension 元素,以及一个 service 元素,此元素可把若干个 web services 的定义组合在一个单一的 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 端口和WSDL绑定
操作类型:<portType>
端口定义了指向某个 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>
代码解释:
在这个例子中,端口 "glossaryTerms" 定义了一个名为 "getTerm" 的 request-response 操作
。
"getTerm" 操作会请求一个名为 "getTermRequest
" 的输入消息
,此消息带有一个名为 "term" 的参数,并将返回一个名为 "getTermResponse
" 的输出消息
,此消息带有一个名为 "value" 的参数。
binding
元素有两个属性 - name 属性和 type 属性。
name 属性定义 binding 的名称,而 type 属性指向用于 binding 的端口,在这个例子中是 "glossaryTerms" 端口。
soap:binding
元素有两个属性 - style 属性和 transport 属性。
style 属性可取值 "rpc" 或 "document"。在这个例子中我们使用 document。transport 属性定义了要使用的 SOAP 协议。在这个例子中我们使用 HTTP。
operation
元素定义了每个端口提供的操作符。
对于每个操作,相应的 SOAP 行为都需要被定义。同时您必须如何对输入和输出进行编码。在这个例子中我们使用了 "literal"。
分享到:
相关推荐
wsdl 详细介绍 WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行...
本文介绍了如何编写一个简单的WSDL文件,并根据WSDL文件编写服务器端和客户端代码,并发布Web Service服务的过程。
Web Service,SOAP,XML,WSDL,WCF综合介绍
详细介绍3种方法根据wsdl逆向生成webservice服务端;有最原始的wsdl2java指令,还有通过soapUI工具以及通过myeclipse的web service project来生成。
本文详细介绍WSDL语言和使用方法
介绍java类与WSDL(web service描述语言)之间的转化
详细介绍了WSDL格式 定义 语法 实例 对于学习WSDL的开发者有有一定的帮助。
对webservic中 wsdl文件进行了详细的分析和介绍
详细介绍wsdl文件的import功能,附带三种wsdl例子文件。
wsdl中文文档,详细介绍了wsdl文档的结构和用法。
详细介绍了wsdl及其使用,对于web服务的理解有很大帮助
这是关于wsdl的英文介绍文档,很全面,对开发者有很大帮助。
介绍了WSDL和UDDI的基本概念,以及如何利用WSDL和UDDI来建立统一接口。
介绍wsdl和uddi的例子 快下呀,我没积分了
12.5. WSDL 介绍 12.6. 以 WSDL 进行 SOAP 内省 12.7. 搜索 Google 12.8. SOAP 网络服务故障排除 12.9. 小结 13. 单元测试 13.1. 罗马数字程序介绍 II 13.2. 深入 13.3. romantest.py 介绍 13.4. 正面测试 ...
介绍wsdl的ppt
13.2 WSDL介绍 13.3 Ksoap2应用——天气预报 13.4 Ksoap2参数类型 13.4.1 CXF框架的Web Service 13.4.2 Android端开发 13.5 Base64编解码 13.6 Http方式的SOAP调用 13.7 本章小结 第14章 AChartEngine 14.1 API介绍 ...
Web Services 从入门到使用介绍 http://blog.csdn.net/wuqilianga/article/details/68496764
3.2. List 介绍 ..............................................................................................................................................23 3.3. Tuple 介绍 ...........................
SOAP and WSDL,介绍SOAP和WSDL的技术以及区别