`

WSDL详解

阅读更多
Web service 一个wsdl对应一个web service地址,可以想象成一个商店,商店里面出售很多手机(portTypes),每个手机上有很多功能(opeations),每个功能对应很多输入和输出参数(message)

//这里没有类,只有端口。。。没有方法,只有端口里面的操作,没有参数,只有传递给端口中某个操作的消息

<wsdl:portType name="CaclSOA">
  <wsdl:operation name="add" parameterOrder="a b">
  <wsdl:input message="impl:addRequest" name="addRequest" /> 
  <wsdl:output message="impl:addResponse" name="addResponse" /> 
  </wsdl:operation>
</wsdl:portType>
上面这个东东是说端口类型是一个CaclSOA这样的类,这个类里面有一个方法 add,这个方法需要两个参数a ,b ...对于这两个参数输入参数在addRequest中定义,输出参数在addResponse中定义
因为我们把同一种类的(多个opeation)服务放到一个端口中暴露出去,那么portType很形象的描述了这个端口的作用,比如上面的名叫CaclSOA的端口类型只提供了一种操作就是add操作,我们可以把它想象成一个手机,手机的种类很多,但是每种手机都提供了不同的操作,我们买手机就是要得到手机的服务

<wsdl:message name="addResponse">
  <wsdl:part element="impl:addReturn" name="addReturn" /> 
  </wsdl:message>
<wsdl:message name="addRequest">
  <wsdl:part element="tns1:a" name="a" /> 
  <wsdl:part element="tns1:b" name="b" /> 
</wsdl:message>

addResponse是add方法的返回参数或者叫输出参数,因为估计是原始类型,他没写太清楚


 <wsdl:binding name="MyFirstWebServiceSoapBinding" type="impl:CaclSOA">每个被支持的信息格式和信息传送方式组合,就叫做 binding
就是如果你要和商店里的服务员沟通,那么你们必须规定好用什么语言沟通,binging就是把某个服务员(比如销售nokia的服务员)和某种语言绑定wsdlsoap:binding 就是用 soap语言通话


 <wsdl:service name="CaclSOAService">说明这个服务在哪个地方寻找到。。。或者在最开始的地方看也可以啦。。。。。//注意 web服务的地址也是命名空间的所在哦。。。所以一般QName上面要填写这个地址的啦。。。。server-config.wsdd中不写命名空间,那么假定的命名空间就是服务地址,但是可以在这个里面设置,这样的话命名空间就会改变
这里的这个地址对应于endpoint
endpoint 是一个存在的location;而namespace就是一个表示unique ID

在web service中,无论是operation 名,还是port type的名字,都用了同一个namespace. 
默认情况下,一个web service使用单一namespace来命名各种对象。这个namespace,称为web service 的Target Namespace 
Namespace 的命名必须是URI (Uniform Resource Identifer), 而URI有分2种类型. 
Web servie 中的target namespace, 使用两种URI都可以。
1。http://blog.csdn.net/dragondwy
2。urn:isbn:1-23-456789-0

下面是抄来的。。。其实都是抄来的

总结
Web service 是平台无关的,语言无关的,可以通过internet访问。 
一个 Web service 具有一个或多个ports.每个port 是指部署在某个网络地址上的一个binding. 
这个网络地址叫做endpoint. 一个binding是指某个port type使用的特有信息格式和特有的传输协议的结合。 
一个port type可以包含一个或多个operations. 每个operation 可以有输入信息(方法调用和输入参数)和输出信息(返回值)。 
每个信息包含一个或多个parts. 每个part都是一个在web service的schema中定义好的element。 
所有内容通过WSDL描述。 

如果要调用以讹RPC 类型的web service, 需要创建XML element, 其中包含operation 名字,所有输入信息(part)的element.等内容。 
而调用document 类型的web service,只需要发送一个 输入信息part 的内容即可。 
因为RPC类型 web service中的XML element没定义在任何schema中,因此没有校验机制。 
所以document 类型的web service是主流,为了更好地协作性考虑,应该使用这种类型。

web service,每个ports,bindings, port types, operations 都有一个QName作为唯一标识符。 
一个QName包含 local part和 XML namespace两部分。 
一个XML namespace是一个全局唯一URI. 
默认情况下,web service中所有这些对象的命名都是用单一的Target namespace. 

URI有两种类型:URL 和 URN. 
URN 具有这样的格式     urn:<NID>:<NSS>. 

在java中xfire中
AccountManagerClient client = new AccountManagerClient();//得到客户端,其实也就是得到商店的代理
		AccountManagerPortType portType = client.getAccountManagerHttpPort(); //得到那个手机。。。



分享到:
评论

相关推荐

    wsdl详解(webservice)

    【WSDL详解(Webservice)】 Web服务描述语言(Web Services Description Language,简称WSDL)是一种基于XML的应用,主要用于描述Web服务的接口和其通信细节。WSDL文档定义了一组服务访问点,允许客户端通过这些点与...

    Web Service描述语言 WSDL 详解.pdf

    标题:"Web Service描述语言 WSDL 详解.pdf" 描述:"Web Service描述语言 WSDL 详解.pdf" 标签:"service web wsdl" 部分内容:Web Service描述语言(WSDL)向这种WebService的提供商和用户推出了方便的协调工作的...

    Web Service描述语言 WSDL 详解

    Web Service描述语言 WSDL 详解

    WebService描述语言WSDL详解

    **WebService描述语言WSDL详解** WebService是一种基于XML的开放标准,允许不同系统通过网络进行通信和数据交换。在WebService的世界里,WSDL(Web Services Description Language)扮演着至关重要的角色,它是一种...

    wsdl详解,适用于初学

    WSDL 详解 WSDL(Web Services Description Language)是一种基于 XML 的语言,用于描述基于网络的服务。它提供了一个统一的方式来描述网络服务,使得不同的系统和平台可以互操作。 为什么使用 WSDL? WSDL 是为了...

    CXF生成的WSDL详解

    ### CXF生成的WSDL详解 #### 一、概述 WSDL(Web Services Description Language)是一种用于描述Web服务的标准XML格式。它包含了服务提供者如何访问该服务的信息,包括服务的位置、服务可用的方法以及这些方法...

    WSDL详解.docx

    ### WSDL详解 #### 一、概述 WSDL(Web Services Description Language)是一种基于XML的语言,用于描述网络服务。它不仅定义了服务的功能性描述,还详细规定了服务的访问方式,包括消息交换模式和传输协议等。...

    WebService经典24篇网文汇总,包含axis2_Xfire搭建_WSDL详解_自动生成客户端和WSDL等.rar

    WebService经典24篇网文汇总,包含axis2_Xfire搭建_WSDL详解_自动生成客户端和WSDL等,自己找了好久的内容; 都是自己学习过程中网络的知识,找了很久,里边有一些自己的标记,如果发现chm内容是空白,注意看一下,其实是...

    Web Service描述语言 WSDL 详解.doc

    Web Service描述语言(WSDL,Web Service Description Language)是一种基于XML的规范,用于定义Web服务的接口和通信细节。WSDL文件是Web服务的核心组成部分,它允许服务提供者明确地描述服务的功能、如何访问这些...

    webservices-wsdl详解

    Web服务描述语言(WSDL,Web Services Description Language)是一种XML格式,用于定义网络服务的接口。它是构建基于SOAP(Simple Object Access Protocol)的Web服务的关键技术之一,允许开发者明确地描述服务的...

    一个完整的WSDL文档及各标签详解

    通过阅读《一个完整的WSDL文档及各标签详解.doc》这份文档,你可以更深入地了解每个标签的用途和配置方式,从而更好地理解和使用Web服务。 在学习和应用WSDL时,还需要注意版本问题,目前主要使用的是WSDL 1.1,而...

    WSDL详解中文word版最新版本

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

    Web Service描述语言 WSDL 详解(转)

    **Web Service描述语言(WSDL)详解** Web Service描述语言(WSDL)是一种XML格式的规范,用于描述网络服务,特别是Web服务。WSDL文件定义了服务的位置、使用的消息协议以及如何调用这些服务。它是Web服务接口的...

Global site tag (gtag.js) - Google Analytics