webservice-WSDL结构与各元素解析

承接上一遍webservice初识,这篇文章将着重于WSDL。 wsdl协议说明http://www.w3.org/TR/wsdl。


结构

现在开始说说wsdl的结构以及各个元素的意义。
从下面这张图可以看出wsdl中各元素是存在嵌套的关系的
webservice-WSDL结构与各元素解析_第1张图片

(reference:http://www.ibm.com/developerworks/cn/webservices/ws-wsdl/)
WSDL 文档将Web服务定义为服务访问点或端口的集合。在 WSDL 中,由于服务访问点和消息的抽象定义已从具体的服务部署或数据格式绑定中分离出来,因此可以对抽象定义进行再次使用:消息,指对交换数据的抽象描述;而端口类型,指操作的抽象集合。用于特定端口类型的具体协议和数据格式规范构成了可以再次使用的绑定。将Web访问地址与可再次使用的绑定相关联,可以定义一个端口,而端口的集合则定义为服务。

继续使用helloworld.wsdl这个例子。



	
		
			
				
					
						
					
				
			
			
				
					
						
					
				
			
		
	
	
		
	
	
		
	
	
		
			
			
		
	
	
		
		
			
			
				
			
			
				
			
		
	
	
		
			
		
	

根元素



......

文档的根元素为...,所有需要用到的namespace也在其中描述。


数据类型定义

可以认为是数据容器,所有用于交换的数据类型都定义在其中,而且使用的是xml schema的语法。其更重要的用处是告诉服务端或客户端如何将收到的xml中元素值解析成本地语言中的数据类型。


	   
			
				
					
						
					
				
			
			
				
					
						
					
				
			
		
	

你也也可以将外数据类型定义在外部XSD文件中,然后在中引用:


消息格式定义

元素定义了一个web服务中所有交换的信息。它有一个或多个的元素组成,这些M不能嵌套,只能是并列关系。中定义的数据类型将在这里被用到,表示的类型。

        
		
	
	
		
	

服务中可用操作的集合

	
		
			
			
		
	
定义了一个操作集合,它由一个或多个组成。我们可以把它理解成定义了一个函数库或类,其中的就是具体函数或类方法。那么其中的就是方法的参数与返回值。参数和返回值得类型引用了上面定义的消息格式。

协议绑定


		
		
			
			
				
			
			
				
			
		
	
中,之前定义的>portType>以及其中的将会被绑定到指定的传输协议中,即调用表明该中某个需使用的传输协议,


服务集合

	
		
			
		
	


这部分是具体的Web服务的定义,在这个名为HelloWorldService的Web服务中,包含了一个即服务访问入口,访问地址是"http://localhost:8080/ws/helloWorld",使用的消息模式是由前面的binding所定义的。当然也可以定义多个使用不同协议的

你可能感兴趣的:(WebService)