`
卡拉阿风
  • 浏览: 101832 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Apache CXF notes

阅读更多

关于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,如AnnotationsDynamic ClientsJAX-WSSimple

 * Trainsport:可扩展的传输层,如Apache Camel TransportHTTP TransportJMS TransportLocal Transport

 * Binding:可扩展的协议解释层,如soap,http,xml,object ( The SOAP binding, which is the default)

 * Data Binding:可扩展的的XML与Java Object映射层,如

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

分享到:
评论

相关推荐

    apache-cxf-2.2.12

    Apache CXF 2.2.12 Release Notes 1. Overview Apache CXF 2.2.12 delivers the third major version of the Celtix project (http://celtix.objectweb.org) and the XFire project (http://xfire.codehaus.org)...

    apache-cxf-2.7.13.tar

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。CXF这个名字来源于它的两个前身:XFire和Celtix,这两个项目在2006年合并成为Apache CXF。CXF允许开发者创建、部署和管理基于...

    apache-cxf-2.7.0.7z

    Apache CXF是一个开源的Java框架,它主要用于构建和开发Web服务。这个"apache-cxf-2.7.0.7z"压缩包包含了该框架的一个特定版本,即2.7.0,它允许开发者通过WSDL(Web Service Description Language)来生成服务端和...

    apache HttpClient jar包

    文件列表中的`LICENSE.txt`、`NOTICE.txt`、`README.txt`和`RELEASE_NOTES.txt`分别包含了Apache HttpClient的授权协议信息、版权声明、项目简介和版本发布说明。这些文件对理解项目的许可条件、使用限制和最新更新...

    java webservice flash在domino中的使用

    1. **创建Java Web服务**:编写Java类,定义需要暴露的服务方法,使用JAX-WS或Apache CXF等工具将Java类部署为Web服务。 2. **配置Domino**:在Domino服务器上设置Web服务,确保HTTP服务和Java运行时环境已启用,并...

Global site tag (gtag.js) - Google Analytics