1. CXF介绍 :soa的框架
    * cxf 是 Celtrix (ESB框架)和 XFire(webserivice) 合并而成,并且捐给了apache  
    * CxF的核心是org.apache.cxf.Bus(总线),类似于Spring的 ApplicationContext
    * CXF默认是依赖于Spring的
    * Apache CXF 发行包中的jar,如果全部放到lib中,需要 JDK1.6 及以上,否则会报JAX-WS版本不一致的问题

* CXF 内置了Jetty服务器 ,它是servlet容器,好比tomcat

2.CXF特点
    1. 与Spring、Servlet做了无缝对接,cxf框架里面集成了Servlet容器Jetty 
    2. 支持注解的方式来发布webservice
    3. 能够显示一个webservice的服务列表
    4. 能够添加拦截器:输入拦截器、输出拦截器 :

输入日志信息拦截器、输出日志拦截器、用户权限认证的拦截器

1. ServerFactoryBean
*    - 不设置注解也可以发布webservice服务, 不支持注解

*    - 不支持拦截器的添加

2. JaxWsServerFactoryBean
*    - 支持注解

*    - 可以添加拦截器

3. webservice 访问流程:
*    1. 检测本地代理描述的wsdl是否与服务端的wsdl一致 ,俗称为握手
*    2. 通过soap协议实现通信 ,采用的是post请求 , 数据封装在满足soap规约的xml中
*    3. 返回数据 同样采用的是soap通信,  数据封装在满足soap规约的xml中

步骤一:我们首先要导入CXF发布webService需要的jar包

步骤二:编写接口及其实现类(这里用的是获取语言的接口LanguageService,实现类LanguageServiceImp)

以上我们可以看到,我们可以不用采取@WebService()注解的方式来指定提供服务的接口,因为bean.setServiceClass()已经为我们指定了。以及bean.setServiceBean()为我们指定了服务实现的bean。

查看wsdl文件

以上我们采用的ServerFactoryBean的方式来获取服务器工厂实例。通过操作发现,我们无法对wsdl文件通过注解进行修改。(修改无效)

所以我们要通过JaxWsServerFactoryBean工厂类来获取实例便可以利用注解对wsdl文件进行修改。

同时,我们也可以通过JaxWsServerFactoryBean的实例bean设置日志输入输出的拦截器

首先我们可以看到wsdl文件被我们通过注解的方式修改了

步骤三:我们将发布好的wsdl文件进行导出生成.class文件。

步骤四:将生成好的.class文件导成jar包

步骤五:建立一个新项目,模拟客户端,并将该jar文件导入lib下,对发布的webservice进行测试(获取Language)

启动服务器端(发布WebService的项目)然后启动客户端(LanguageTest)

同时因为我们在JaxWsServerFactoryBean中设置了日志拦截器,所以我们在查看wsdl文件和进行获取language的时候都会有日志信息进行输出。

我们每次调用服务的时候,webservice都会检验本地代理的wsdl文件是否与服务器端的wsdl文件是否一致。然后通过soap实现通信。我们采用的是post请求 , 数据封装在满足soap规约的xml中

采用CXF框架发布WebService相关推荐

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

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

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

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

  3. 使用CXF框架发布SOAP协议的 WebService服务

    引言 Apache CXF = Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.CXF 继承了 Celtix 和 X ...

  4. Spring和CXF整合发布WebService(服务端、客户端)

    参考Spring和CXF整合发布WebService(服务端.客户端) 转载于:https://www.cnblogs.com/timspace/p/11113576.html

  5. 基于CXF框架的webservice接口发布与调用

    目录 前言 正文 一,开发接口服务端(soap风格),接收SAP系统推送过来的数据 二,调用SAP提供的webservice接口(soap风格) 三,调用SRM系统提供的rest接口 四,接口调试工具 ...

  6. Web服务cxf框架发布2

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任. 作者:永恒の_☆ 地址:http://blog.csdn.net/chenghui0317/ ...

  7. WebService(CXF对外发布WebService服务)(1)

    一.创建Maven工程 注意pom.xml中的dependency配置,需要引入这三个包:(特别注意,引入的这三个包的版本要一致,否则会报奇怪的错误) <project xmlns=" ...

  8. 使用CXF框架开发WebService客户端

    上一篇讲了使用cxf开发了webservice服务器端接口,这篇我们来开发webservice客户端更多资源访问www.yyjava.com 然后我们要用CXF给我们提供的工具wsdl2java 来根 ...

  9. CXF框架实现webservice实例

    服务器端: 1.新建Web项目,例如CXF_Server,导入cxf-2.4.2的相关jar包,如下图所示: 2.新建一个webservice服务接口MyService,该接口通过注解来暴露服务:  ...

最新文章

  1. 入门Go语言神器!超全学习资源+笔记,新手从零学习全过程资源汇总
  2. 关于微信支付的退款那些事
  3. C语言字符串转换为整数(附完整源码)
  4. 【算法系列之五】对称二叉树
  5. [LeetCode][Python][C#]刷题记录 26. 删除排序数组中的重复项
  6. mysql-5.6.31.tar.gz_MySQL5.6.31源码安装
  7. 智能终端会议系统(20)---网络视频传输协议--RTP/RTCP/RTSP/SIP/SDP 之间关系
  8. Bailian2709 求出e的值【数列求和】(POJ NOI0105-35)
  9. 并发编程之美(1)并发编程基础
  10. PEP 8: E305 excepted 2 blank lines, after class or function definition, found 1
  11. Rigify:关于Rigify生成最终绑定时失败的原因及解决办法
  12. roundcube webmail登陆失败怎么回事_智慧团建登陆官网入口手机
  13. 微信开放平台应用申请
  14. Java学习(8) —— 异常处理
  15. 山西大同大学教务处教师端——可在PC端,手机端操作
  16. mysql 临时表 会话级_会话级的临时表和事务级的临时表
  17. 编码,隐匿在计算机软硬件背后的语言读书笔记(1)
  18. 基于C4D的3d设计
  19. 016.从中序与后序遍历序列构造二叉树
  20. 赛扬处理器_【推仔说新闻】Intel 奔腾和赛将处理器即将支持傲腾产品

热门文章

  1. 四氧化三铁负载MOF材料/四氧化三铁表面包覆[Cu3(btc)2]金属有机骨架
  2. 用123BOM工具处理同产品的多个BOM单这是整理研发BOM最好用的工具;是方案公司、产品型号多、同一个产品多个版本子BOM制定单一、准确的研发BOM清单的更好方式
  3. FTP 传送文件到远程服务器
  4. 【大学软件测试基础】余额宝提现 - 等价类划分法
  5. html更改纵坐标数值,excel折线图纵坐标轴数值与实际值不一致该怎么办?折线图怎么修改纵坐标...
  6. discuz X2转帖工具、采集工具 使用介绍(原创)
  7. 阳光男孩陈颢天 受邀担任第六季完美童模全球总决赛代言人
  8. 基于STM32F103C8T6的循迹避障小车完整制作过程(详细)----上篇(第123点)
  9. java实例化对象的过程
  10. oCPC实践录 | 重新理解oCPC之量化流量价值