关于 Web Service 的一些理解

    技术2022-05-20  39

    关于 Web Service 的一些总结,一些理解

    http://www.javaeye.com/topic/410195

    1,什么是 Web Service ?

       Web Service 就是一个网络组件(一个可以通过网络访问的程序)。

       它有一个或多个端口(Port),这些端口用于接收客户端的请求,并返回响应

       请求和响应的 都是一种基于XML的消息。

       不过这种消息遵循特定的格式(SOAP )。

    2,怎样调用 Web Service?

       可能这样说不太准确,应该是“怎样调用Web Service中定义的操作 ”

       每个Web Service 都有一个描述文件(WSDL ),

       它描述 一个 Web Service 的如下方面:

       (1)服务的端口(接收SOAP消息的端口)

       (2)服务提供的操作

       (3)操作的输入输出格式的定义(通过XMLSchema 定义输入输出格式)

        有了Web Service 的描述文件(WSDL ),我们就知道怎样调用这个Web Service 中定义的操作了。

       (1)通过服务提供的操作找到你想调用的操作

       (2)找到这个操作的输入格式的定义(XMLSchema ),按照这种输入格式构造一个SOAP消息

       (3)将这个SOAP消息发送到服务的指定端口

       (4)准备接收一个从Web Service服务器返回的 SOAP 响应吧 !

    3,Web Service服务器

       一个Web Service服务器,本质上和一个Web服务器是相同的。

       它主要做下面这些事: 

    --> 监听网络端口(监听服务端口) 

    --> 接收客户端请求(接收SOAP请求) 

    --> 解析客户端请求(解析SOAP消息,将SOAP消息转换为数据对象)

    --> 调用业务逻辑 (调用Web Service实现类的特定操作,参数是由SOAP消息  

          转换而来的数据对象)

    --> 生成响应 (将返回值转换为SOAP消息)

    --> 返回响应 (返回SOAP响应)

    4,Web Service客户端

       一个Web Service客户端,顾名思义是和一个Web Service服务器进行交互。

      下面是一个Web Service客户端调用Web Service的基本过程。

    --> 构造SOAP请求消息(将本地数据对象转换为SOAP消息) 

    --> 发送SOAP消息到Web Service服务器的指定端口

    --> 接收SOAP响应消息  

    --> 将SOAP响应消息转换为本地数据对象

      其实大部分Web Service客户端 都不需要我们来编写,很多Web Service框架

    都支持由 Web Service 的描述文件(WSDL)自动生成客户端。

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

    Web Service也分广义跟狭义。。 基于SOAP的只能算是Web Service的一种实现方式吧。。    我觉得Web Service就是通过网络提供服务。 我用RMI可以做到。 Rest也可以做到。phprpc也可以做到。 我只是去提供服务。 没得非要用到重量级的标准。无论是axis还是axis2还是cxf。。其实都还算挺麻烦的。 不过在多语言环境下,基于SOAP的Web Service也还是有优势的。。


    最新回复(0)