当前位置 : 主页 > 网页制作 > Nodejs >

【WebService框架-CXF】——WebService和CXF

来源:互联网 收集:自由互联 发布时间:2021-06-24
在接下来的几篇博客中将对CXF的基础知识和简单应用进行总结。下面列出了要总结的内容。本篇文章集中介绍CXF的基础知识。 CXF博客总结目录 WebService和CXF基础知识 CXF入门实例(编写客

  在接下来的几篇博客中将对CXF的基础知识和简单应用进行总结。下面列出了要总结的内容。本篇文章集中介绍CXF的基础知识。

CXF博客总结目录

WebService和CXF基础知识
CXF入门实例(编写客户端和服务端)
CXF对Map等无法自动转化的类型的处理
CXF添加普通拦截器
CXF添加自定义拦截器
CXF+Spring+自定义拦截器构建WebService服务端
CXF+Spring+Struts+自定义拦截器构建WebService客户端
利用CXF编写Restful风格的Web Service

概述

核心技术

WSDL

WSDL是WebService描述语言
现在,通过我本地发布的WebService生成的WSDL文档来了解一下它。
一个是接口文档,一个是实现文档。


接口文档
http://localhost:9009/HelloWorldWS?wsdl=HelloWorld.wsdl

type:定义了文档采用哪种约束、格式,如Shema
message:传递的消息,每个operation的传入消息和传出消息(**Response),所以有N个Operation,就有2N个message
portType:其中用operation定义了WebService操作(方法)


实现文档
http://localhost:9009/HelloWorldWS?wsdl

binding:接口文档中的portType中的每个Operation绑定实现。
service:定义了绑定的端口和地址

SOAP

  简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。
  SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。
                             ——百度百科
                        

下面是一条SOAP消息

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Header>
        <authHeader>
            <userId>1</userId>
            <pwd>123</pwd>
        </authHeader>
    </soap:Header>
<soap:Body>
    <ns2:getAllCats xmlns:ns2="http://ws.tgb.com/"/>
</soap:Body>
</soap:Envelope>

总之,WSDL描述了三方面内容:

What:该WebService包含哪些操作?
How:这些操作应该怎样调用——SOAP消息机制
Where:Web Service的地址

调用WebService过程

1.Client将方法参数–》SOAP的input消息(XML文档形式)
2.通过网络传递input消息
3.Server接收,并解析,将input消息–》参数
4.Server执行方法
5.将返回值–》SOAP的output消息
6.网络传输
7.客户端接收,解析,将output消息–》返回值

总结

  之前学习了中间件,EJB,这里又回顾了WebService,学习了CXF框架。WebService采用的SOAP协议并结合Http,数据传输基于XML,而EJB是通过将对象序列化成二进制串传递的。更详细的它们的区别和联系,请参考再论corba,ejb ,webservice,rest分布式 。

网友评论