【WebService】——SOAP、WSDL和UDDI

     WebService的三要素:SOAP、WSDL和UDDI。soap用来描述传递信息的格式,wsdl描述如何访问具体的接口,uddi管理、分发查询WebService。


1、SOAP   

     SOAP Simple Object Access Protocol简单对象访问协议,是一种简单轻量的交换数据的规范。 

soap也是基于xml的文档,包括Envelope、header、body等元素。它定义了一个框架,用来描述消息的内容。


如何查看?

我们可以通过工具来了解SOAP的传送数据方式。

1)在MyEclipse中打开web Service Explorer



2)输入已经发布的服务地址,如图:



3)可以看到之前的add和minus方法,输入参数,执行。




    我们可以看到,SOAP的request和response的文档都是xml格式的,而且都符合上面介绍的规范。


2、wsdl     

     大家都知道WebService可以实现跨平台的可互操作性,它的描述语言wsdl,使得我们更方便的协调工作,传递消息和数据。

         wsdl Web Services Description Language 网络服务描述语言,以xml的格式在WebService中用来描述一个服务的信息。下图是wsdl的基本内容结构:

        具体实例可参考:【WebService】——入门实例





     是由xml编写的,主要分两部分:抽象定义和具体描述。基本元素有type、message、part、operation、binding、service等。


1)definition

wsdl的根元素,一般包含若干个xml命名空间。targetNamespace

2)Message

属于抽象定义内容,有一个或多个Part(消息参数)组成。

例如:

上篇博客创建的服务中,我们提供了add()方法,可以看到wsdl中的元素信息。





3)Operation

     对服务支持的操作进行的抽象描述,简单的说,一般可以理解成服务中提供的具体方法。

input  输入信息,

output 输出信息




4)Service

相关端口的集合,http://localhost:5554/service/访问地址。




5)types、binding、portType

wsdl还有一些元素很重要,但平时的开发中可能接触并不多。

types  使用的数据类型

binding 通信协议

portType 指出该WebService支持的操作(方法)。


3、UDDI

Universal Description Discovery and Integration 通用描述、发现和集成服务

最开始就介绍到它是可以实现查询、管理WebService的,下图描述了UDDI在web服务协议栈中所处的位置。


小结:

       最开始接触WebService的时候,只是在用它,并没有去学习它的原理。现在一点点深入的了解中,再次学习了RPC、xml中的DTD和schema、SOAP消息机制。

原文地址:https://www.cnblogs.com/saixing/p/6730229.html