CXF-04: CXF 的本质,解析 WSDL 文档

Web Service的三个技术基础:
        1 . WSDL        Web Service Definition Language  - Web Service 定义语言;
        2 . SOAP         Simple Object Access Protocol - 简单对象协议;

        3 . UDDI          (用到的不多)

一 、 XML 里的两个属性:
         targetNamespace - 相当于Java语言里的package
         xmlns                    - 相当于Java语言的import(导入命名空间,要写的内容与要导入的文件的 targetNamespace 相同)
                   xmlns比Java的import功能要强:
                         * Java代码引入:import java.util.*;import java.sql.*;
                            程序代码里有Date属性时,会报错:对Date的引用不明确,java.sql中有类java.sql.Date和java.util中有类java.util.Date
                         * xmlns:ns1="http://ws.cxf.fjava.org/"
                            xmlns可以命名一个短名 ns1,短名可以改,"http://ws.cxf.fjava.org/"不能随便改,对应一个文件

二 、 WSDL解析

        这里解析的是CXF-01至03里的程序,下面看图识流程(先看接口,后看实现);




调用一次Web Service的本质:
         1.客户端把调用方法参数,转换XML文档片段——该文档片段必须符合WSDL定义的格式;
         2.通过网络,把XML文档片段传给服务器;
         3.服务器接收到XML文档片段;
         4.服务器解析XML文档片段,提前其中的数据,并把数据转换为调用Web Service所需的参数值;
         5.服务器执行方法
         6.把执行方法得到的返回值再次转换生成XML文档片段(SOAP消息)——该文档片段必须符合WSDL定义的格式。
         7.通过网络,把XML文档片段传给客户端;
         8.客户端接收到XML文档片段;
         9.客户端解析XML文档片段,提取其中的数据,并把数据转换 调用Web Service的返回结果。
从上面调用本质来看,要一个语言支持Web Service,唯一的要求是:该语言支持XML文档解析、生成、支持网络传输。
XML文档片段是一个跨平台的交换格式,这也是CXF能够跨平台的根本原因。

希望对你有帮助,祝你有一个好心情,加油!

若有错误、不全、可优化的点,欢迎纠正与补充;转载请注明出处!

猜你喜欢

转载自blog.csdn.net/cheng_feng_xiao_zhan/article/details/52761857
CXF