WSDL说明 wsdl2java

WSDL 是一种XMLApplication,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问(类似远程过程调用)。WSDL首先对访问的操作和访问时使用的请求/响应消息进行抽象描述,然后将其绑定到具体的传输协议和消息格式上,以最终定义具体部署的服务访问点。相关的具体部署的服务访问点通过组合就成为抽象的Web服务。

WSDL文档将Web服务定义为服务访问点或端口的集合。在 WSDL中,由于服务访问点和消息的抽象定义已从具体的服务部署或数据格式绑定中分离出来,因此可以对抽象定义进行再次使用:消息,指对交换数据的抽象描述;而端口类型,指操作的抽象集合。用于特定端口类型的具体协议和数据格式规范构成了可以再次使用的绑定。将Web访问地址与可再次使用的绑定相关联,可以定义一个端口,而端口的集合则定义为服务。WSDL需要描述两部分的内容,一是接口,二是实现。接口描述了服务的格式,例如服务名,服务参数,服务结果。服务实现则描述了用户所对应提供的输入如何转换成符合某一实现协议的形式。一般情况下,我们使用SOAP作为实现协议,那么客户端在分析了WSDL文件以后,将会把用户的输入转换成SOAP请求。WSDL元素的对象结构示意图

WSDL文件示例

WSDL说明 wsdl2java

<wsdl:definitionsxmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

xmlns:tns="http://www.daily-moon.com/classifieds"

xmlns:ns1="http://org.apache.axis2/xsd"

targetNamespace="http://www.daily-moon.com/classifieds">

<wsdl:types>

<xs:schemaxmlns:xs="http://www.w3.org/2001/XMLSchema"

targetNamespace="http://org.apache.axis2/xsd"

elementFormDefault="unqualified"

attributeFormDefault="unqualified">

<xs:elementname="createNewAdRequest">

<xs:complexType>

<xs:sequence>

<xs:element type="xs:string" name="content"/>

<xs:element type="xs:string" name="endDate"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:elementname="createNewAdResponse">

<xs:complexType>

<xs:sequence>

<xs:element type="xs:int" name="newAdId"/>

</xs:sequence>

</xs:complexType>

</xs:element>

...

</xs:schema>

</wsdl:types>

<wsdl:messagename="createNewAdRequestMessage">

<wsdl:part name="part1" element="ns1:createNewAdRequest"/>

</wsdl:message>

<wsdl:messagename="createNewAdResponseMessage">

<wsdl:part name="part1"element="ns1:createNewAdResponse" />

</wsdl:message>

<wsdl:messagename="getExistingAdsResponseMessage">

...

</wsdl:message>

<wsdl:portType name="ClassifiedServicePortType">

<wsdl:operation name="createNewAd">

<wsdl:input message="tns:createNewAdRequestMessage"/>

<wsdl:output message="tns:createNewAdResponseMessage"/>

</wsdl:operation>

<wsdl:operationname="finalizeIssue">...</wsdl:operation>

<wsdl:operationname="editExistingAd">...</wsdl:operation>

<wsdl:operationname="getExistingAds">...</wsdl:operation>

</wsdl:portType>

<wsdl:bindingname="ClassifiedServiceBinding"

type="tns:ClassifiedServicePortType">

<soap:bindingtransport="http://schemas.xmlsoap.org/soap/http"

/>

<wsdl:operation name="createNewAd">

<soap:operation soapAction="createNewAd" />

<wsdl:input>

<soap:bodyuse="literal"

namespace="http://ws.apache.org/axis2"/>

</wsdl:input>

<wsdl:output>

<soap:bodyuse="literal"

namespace="http://ws.apache.org/axis2"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operationname="finalizeIssue">...</wsdl:operation>

<wsdl:operationname="editExistingAd">...</wsdl:operation>

<wsdl:operationname="getExistingAds">...</wsdl:operation>

</wsdl:binding>

<wsdl:servicename="ClassifiedService">

<wsdl:portname="ClassifiedServicePort"

binding="tns:ClassifiedServiceBinding">

<soap:address location=

"http://www.daily-moon.com:8080/axis2/services/ClassifiedService"/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

注意:在WSDL2.0中:

仅允许每个 message 包含一个part;

portType 的名称已更改为interface;

soapAction 已经完全从 WSDL2.0 中删除了;

另一个更改与“消息交换模式”的正式规范有关。WSDL2.0不依赖于用户确定是同时存在输入和输出还是仅有一个输入消息,它允许您具体地声明所使用的模式

...

<wsdl:operation name="finalizeIssue"

pattern=http://www.w3.org/2006/01/wsdl/in-only">

<wsdl:inputmessage="tns:finalizeIssueRequestMessage"/>

</wsdl:operation>

<wsdl:operation name="createNewAd"

pattern="http://www.w3.org/2006/01/wsdl/in-out">

<wsdl:input message="tns:createNewAdRequestMessage"/>

<wsdl:outputmessage="tns:createNewAdResponseMessage"/>

</wsdl:operation>

...

--------------------------------------------

有关命名空间的说明

和许多编程语言一样,在 XML中,经常有必要为各种元素和属性指定“命名空间”。这样就能方便地对具有相同名称但用途不同(来源也可能不同)的元素进行区分。XML 通过URI 引用命名空间。例如,XML 模式命名空间为http://www.w3.org/2001/XMLSchema。不过,为了方便起见,还为其分配了一个别名(或前缀)。例如,此处的模式命名空间的前缀为xs:。请记住,别名只是一个别名而已,重要的是 URI。因此,属于 ns1:命名空间的元素或属性也是模式的 targetNamespace 的一部分。

---------------------------------------------

一个WSDL文档里一般包含<types>、<message>、<portType>、<binding>和<service>这几个元素.

service 使用一个特殊的binding,binding是 portType 的一个实现。portType 定义操作,而操作由 messages组成。消息中包含由 types 部分中定义的 XML 组成。

  

爱华网本文地址 » http://www.413yy.cn/a/25101014/209079.html

更多阅读

书信的格式说明 英语作文书信的格式

书信的格式说明——简介一般书信由六个部分构成。这六个部分分别是:称呼、问候、正文、祝福语、署名、日期。下面分别说说它们在格式上的要求。书信的格式说明——方法/步骤书信的格式说明 1、称呼写一封信,先要把收信人的称呼顶格

智能马桶的基本功能说明 智能马桶的功能

智能马桶的基本功能说明——简介随着科技的发展,卫浴功能的不断开发,智能马桶开始出现,人性化的外形和功能设计使得智能马桶才高八斗。智能马桶的出现体现了人们对舒适生活和对健康生活的追求,智能马桶在日本的普及率更超过60%。下面为

古剑奇谭破解补丁使用说明 古剑奇谭破解补丁

古剑奇谭破解补丁使用说明——简介《古剑奇谭》系列,是由GAMEBAR旗下上海烛龙研发的大型3D仙侠类角色扮演游戏。第一代作品《古剑奇谭:琴心剑魄今何在》已于2010年7月10日正式发行,为国内首部全程配音的单机游戏。古剑奇谭破解补丁已

痄腮散的使用说明 宝宝炸腮怎么办

腮腺炎,中医学称“痄腮”, 民间也称“猪头肥”。是儿童和青少年中常见的呼吸道传染病,由腮腺炎病毒所引起。冬春季节发病较多,病人是传染源,飞沫的吸入是主要传播途径,接触病人后2-3周发病。腮腺炎主要表现为一侧或两侧耳垂下肿大,肿大的腮

二八杠规则说明 二八杠规则官网

二八杠规则说明——简介二八: 2-6人 采取整副扑克牌54张进行游戏。下面是二八杠规则说明分享给大家?二八杠规则说明——方法/步骤二八杠规则说明 1、在游戏中,先比对子大小下注闲一赢,,再比数字大校比点数时有一特例,即二筒配八筒,该组合

声明:《WSDL说明 wsdl2java》为网友夏末烟雨分享!如侵犯到您的合法权益请联系我们删除