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

CXF博客总结目录

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

概述

核心技术

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消息–》返回值

Web Service应用场景

1.企业内部新旧系统整合,将就的系统发布成Web Service。(BOS)
2.内容聚合,如将订机票,住酒店等功能聚合在一起,为用户提供便捷服务。(COS)
3.不同公司业务整合,使用一些公共的服务。(SOS)
4.支持不同终端调用。(DOS)

CXF帮程序员做了什么

1.SOAP消息的生成和解析。
2.提供了拦截器进行权限控制。
3.提供拦截器的接口,程序员可以自定义拦截器对SOAP消息进行更改。

总结

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

【WebService框架-CXF】——WebService和CXF相关推荐

  1. Maven项目集成cxf框架发布WebService

    关于Maven项目集成cxf框架发布和接收WebService 从网上找了很多,发现大多数都是类似"单机"版的发布,直到看了一篇博客,给我很大的启发. 在此感谢这位博客的作者:ht ...

  2. CXF框架发布WebService服务的例子

    1.CXF框架概念介绍 Apache CXF 是一个开源的 WebService 框架,CXF可以用来构建和开发 WebService,这些服务可以支持多种协议,比如:SOAP.POST/HTTP.H ...

  3. CXF 开源的WebService框架

    1.WebService WebService也称web服务.是通过SOAP协议实现的远程调用技术. 即本地系统调用远程的系统 为远程调用 SOAP协议(简单对象访问协议):HTTP+XML,常用SO ...

  4. WebService开发笔记 1 -- 利用cxf开发WebService竟然如此简单

    现在的项目中需要用到SOA概念的地方越来越多,最近我接手的一个项目中就提出了这样的业务要求,需要在.net开发的客户端系统中访问java开发的web系统,这样的业务需求自然需要通过WebService ...

  5. [转] WebService开发笔记 1 -- 利用cxf开发WebService竟然如此简单

    以下文章来自   http://www.blogjava.net/jacally/articles/186655.html 现在的项目中需要用到SOA概念的地方越来越多,最近我接手的一个项目中就提出了 ...

  6. CXF WebService 教程

    业务需求:常见WEB服务: 手机淘宝.京东-. 天气预报 手机号归属地 股票查询 发手机短消息 手机充值功能 中英文翻译 银行转账业务 公司的"进销存系统"在某商品缺货时自动给供应 ...

  7. cxf webservice接口

    利用cxf框架发布webservice接口 引入cxf jar包 通过maven引入:修改pom.xml文件 <!-- cxf-begin --> <dependency> & ...

  8. Cxf+WebService集成拦截器

    最近公司与一些大公司对接服务,使用的是老掉牙的web service协议的接口,其中遇到了不少的坑.在此将自己的经验描述一下,让各位后辈能学习到东西... 1:介绍webservice Web Ser ...

  9. SOAP方式的CXF WebService实现

    1. WebService概述 1.1 WebService定义    W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组 ...

最新文章

  1. 矩阵拼接 cat padding_pytorch
  2. Lifting Transformer: 基于跨步卷积Transformer的高效三维人体姿态估计
  3. NR 5G PDCP分组数据汇聚协议
  4. 【每日随笔】使用 you-get 获取网页中的视频资源 ( Python 环境安装 | you-get 工具使用 )
  5. 基于heartbeat v1+ldirectord实现LVS的高可用
  6. CentOS中安装mysql
  7. Jacoco字节码植入原理(源码分析)
  8. Device /dev/ttyUSB0 is locked.解决办法
  9. 关于EL表达式取值的问题
  10. php 时间选择,PHP-在学说2中的日期之间选择条目
  11. 求数的绝对值一定是正数_人教版初中数学七年级上册绝对值公开课优质课课件教案视频...
  12. Paddle 使用预训练模型 实现快递单信息抽取
  13. 【Linux】Linux多个关机命令详解
  14. Python 中文Key 报错问题
  15. 结对-结对编项目作业名称-开发环境搭建过程
  16. 电商渠道转化越来越低,究竟怎样引流才能提高转化率?
  17. JAVA项目实训struts2_JavaWeb学习:Struts2与Spring的IOC练习
  18. 最近啃的有点多了,乱了
  19. 持续集成(CI)- 几种测试的区别(摘录)
  20. c语言程序学生档案管理系统,C语言 班级档案管理系统实现

热门文章

  1. 使用DOSBox-X安装使用方法及打开QBasic
  2. java对接PayPal支付-自动续费功能
  3. 阿里云redis大key搜索工具
  4. 12.5.2 升12.5.3的补丁 linux下载,lolv3.2.3.2-V4.0.5.1升级-lolv3.2.3.2-V4.0.5.1升级补丁【7.12版本】下载官方最新版-西西软件下载...
  5. 建立人工智能助理应用程序的过程
  6. 国家制定甲型流感中药方 市民可食用预防
  7. 华硕p5vdc-x主板老板子刷bios方法
  8. 最小公倍数和最大公约数 (__gcd(x,y) )
  9. 1132 最大公约数和最小公倍数
  10. 对于神经网络的边缘计算以及嵌入式等应用