设为首页 收藏本站
查看: 958|回复: 0

[经验分享] Apache CXF notes

[复制链接]

尚未签到

发表于 2016-12-30 06:34:23 | 显示全部楼层 |阅读模式
  关于Apache CXF
  Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding 、DataBinding、Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用。
  

  Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS 。这些 Services 可以支持多种协议,比如:SOAP、XML/HTTP、RESTful HTTP 或者 CORBA ,并且可以在多种传输协议上运行,比如:HTTP、JMS 或者 JBI,CXF 大大简化了 Services 的创建,同时它继承了 XFire 传统,一样可以天然地和 Spring 进行无缝集成。
  

  核心处理模块
 * Bus-- CXF容器,基于Spring的Container与Configuration。(Configuring the Bus)
 * ServiceModel-- 服务元数据,其中ServiceInfo类似WSDL,而其他部分描述了DataBinding,Interceptors等CXF属性。
 * Message -- 在框架内流动的通用信息单元。
 * Interceptor-- 在管道内处理信息的功能单元,由Interceptor Chain控制,分属不同的阶段(Phase)。

  

  扩展模块
   * FrontEnd:用户编程API,如Annotations、Dynamic Clients、JAX-WS、Simple
   * Trainsport:可扩展的传输层,如Apache Camel Transport、HTTP Transport、JMS Transport、Local Transport
   * Binding:可扩展的协议解释层,如soap,http,xml,object ( The SOAP binding, which is the default)
   * Data Binding:可扩展的的XML与Java Object映射层,如

  • Aegis (2.1)— For CXF 2.1 or newer
  • Aegis Databinding (2.0.x)— For CXF up to 2.0.x
  • JAXB
  • MTOM Attachments with JAXB
  • SDO
  • XMLBeans
  WSDL绑定样式各种组合优劣势比较
  * 编码样式:encoded与literal,SOAP协议是XML Schema之前的产物,因此自定义了encode协议。WS-I Basic Profile已将其排除在外。在wsdl的wsdl:binding->wsdl:operation->wsdl:input/output->soap:body中定义。
* 绑定样式:RPC与Document。面向方法与面向消息的区别。RPC以方法及其参数组织XML,而Document可以任意的形式。
* wrapped 与unWrapped(Bare):在Document样式下,wrapped会将所有的参数包装成body下的一个节点,而Bare则可以有多个Body下的节点。

三种可选的样式
    * RPC/encoded:古老而传统样式。以方法名节点->参数节点组织XML。
    * Document/literal:只以文档形式传递参数。
    * Document/literal/wrapped:目前最流行的、默认的方式。定义一个以方法名为名称的type,作为body下的唯一节点,包裹所有参数。此时的XML既是一次方法调用,也可以看作是一条消息。结合了前两种的优势。

  

  CXF SOAP消息的默认样式为document/literal/wrapped
   (The default is document.  The default is literal. )
  了解相关知识之后,如何开发?请查看这里 【Apache CXF 简介(IBM DW)】
  参考:
  CXF用户手册: http://cxf.apache.org/docs/index.html
  CXF-SpringSide wiki: http://wiki.springside.org.cn/display/calvin/CXF
  Web Service不知道请看 Web Service百度百科或 Web Service Wiki

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-321188-1-1.html 上篇帖子: Apache 性能调整 下篇帖子: Apache Shiro 介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表