`

何为CXF

阅读更多

      

       感谢作者的整理 文章转自:http://www.iteye.com/topic/83092

 

       CXF是 IONA的OpenSource ESB Celtix与 号称最快的Soap协议栈 XFire合并的 apache Incubate 项目。
CXF是一个JAX-WS API的实现。
CXF支持多种binding, transport。
CXF支持也支持除JAX-WS之外的服务模型,例如JBI,CORBA,SCA等。

好在我把CXF项目的网站的链接给同学发了过程,与此同时我也注意到了 Apache CXF: An Open Source Service FrameWork 这个标题。 我想这很概括的回答了前面那个问题CXF是做什么的。

这个 Service Framework所做的工作就在将各种应用发布为Web Services。
在发布你的应用之前你需要告诉CXF两个信息, 一个是 WSDL Contracts,一个是你服务应用的具体实现。

熟悉WSDL的朋友应该知道,WSDL提供了Web Servcies的服务描述,定义服务所提供的操作信息,以及操作支持消息数据信心。我们可以把这些信息称为是WSDL contracts。在CXF内部是通过

Service Model来描述这些WSDL Contracts的,这样做的目的有两个一个是屏蔽了WSDL1.1 与WSDL2.0之间的区别,另一个是为CXF内部运行环境提供了一个统一的服务信息描述接口。

这样以来我们可以很轻松的实行 WSDL <--> ServiceModel <--> Java Class Service Endpoint Interface(SEI)的转换。
同时CXF可以同时支持WSDL First以及 Code First两种编程模型

服务的实现可以是POJO ,也可以是使用JSR181标记过(Annoatated)的Java类实现,同时也可以是一个js文件。在CXF中通过不同的Front-End来支持这些不同的服务实现。 JAX-WS Front-End支持采用JAX-WS API创建服务。Simple Front-End 支持POJO服务实现。 JS Front-End则提供了java script服务实现的支持。

大家可以通过下面的例子来了解如何通过CXF来发布一个Web Services (注意这里采用的CXF Simple Fronte-End API来创建服务,你还可以使用JAX-WS API来创建服务)


Hello.java

 

java 代码
  1. public interface Hello {    
  2.    String sayHello();     
  3. }     
  4.   
  5.   

 

HelloImpl.java 
java 代码
  1. public class HelloImpl {   
  2.    public String sayHello() {   
  3.       return "hello";    
  4.    }   
  5. }      


server.java 

java 代码
  1. import org.apache.cxf.frontend.ServerFactoryBean;    
  2. ...       
  3. // Create our service implementation   
  4. HelloWorldImpl helloWorldImpl = new HelloWorldImpl();   
  5.  // Create our Server     
  6. ServerFactoryBean svrFactory = new ServerFactoryBean();    
  7. svrFactory.setServiceClass(Hello.class);    
  8. svrFactory.setAddress("http://localhost:8080/Hello") ;   
  9. svrFactory.setServiceBean(helloWorldImpl); svrFactory.create();      
  10.   
  11.   

在这里没有指定WSDL,CXF采用CodeFirst的服务发布方式,通过分析ServiceClass来构建ServiceModel,你可以通过http://localhost:8080/Hello?wsdl来获取具体的WSDL信息。
分享到:
评论

相关推荐

    cxf 3.1.1 jar包

    CXF(CXF: The Apache CXF project is an open source services framework)是一个开源的Java服务框架,它允许开发者创建和消费各种Web服务。CXF的名字来源于"Code first"和"XML first",代表着它支持从Java代码或者...

    cxf框架包 apache-cxf-3.4.3.tar.gz

    Apache CXF是一个开源的Java框架,它主要用于构建和开发Web服务。这个框架允许开发者通过SOAP、RESTful HTTP、XML以及各种协议来实现服务接口。在本案例中,我们讨论的是"apache-cxf-3.4.3.tar.gz",这是Apache CXF ...

    Cxf转换器示例

    【Cxf转换器示例】是一个关于Web服务技术的实践项目,主要聚焦于Apache CXF框架中的转换器(Converter)功能。Apache CXF是一个开源的Java框架,它用于构建和开发服务导向架构(SOA)和RESTful应用程序。CXF不仅支持...

    cxf的jar包

    CXF(CXF: Composite eXtensible Services Framework)是一个开源的Java框架,它用于构建和开发服务导向架构(SOA)中的Web服务。CXF允许开发者以他们选择的语言(如Java)编写服务端和客户端代码,同时支持多种Web...

    cxf-3.1.5 和 cxf-3.3.13 JAVA7和JAVA8对应CXF资源

    JAVA7和JAVA8对应CXF资源 WebService CXF 用了一天时间找,官网打不开,国内要积分,下下来又永不了。最后终于搞到手,上传上来分享给大家。 jdk版本 CXF版本 java 9及以上 3.3.x java 8 3.x java 7 2.2x --- ...

    apache-cxf-2.5.2

    Apache CXF 是一个开源的Java框架,用于构建和开发服务导向架构(Service-Oriented Architecture, SOA)和Web服务。这个"apache-cxf-2.5.2"版本是该框架的一个特定发行版,发布于2011年,包含了CXF框架的所有组件和...

    CXF客户端支持最少jar

    在Java世界中,Apache CXF是一个广泛使用的开源框架,它提供了服务级的API来构建和消费Web服务。CXF客户端是开发人员用来与CXF服务交互的重要组件,它允许我们轻松地调用远程Web服务。然而,为了减小程序的体积和...

    Spring CXF Restful 实例

    在IT行业中,Spring CXF是一个广泛使用的开源框架,它整合了Spring框架的功能和Apache CXF的服务堆栈,为开发人员提供了构建和实现Web服务的强大工具。在这个“Spring CXF Restful实例”中,我们将深入探讨如何利用...

    apache-cxf-2.7.7.zip

    Apache CXF是一个开源的Java框架,它主要用于构建和开发Web服务。这个"apache-cxf-2.7.7.zip"压缩包包含了CXF框架的2.7.7版本,这是一个在2013年发布的稳定版本。CXF是Apache软件基金会的项目,它集成了多种Web服务...

    CXF源码:CXF_Spring源码

    【CXF源码分析】 Apache CXF 是一个开源的Java框架,主要用于构建和服务导向架构(SOA)的应用程序。它提供了多种方式来实现Web服务,包括基于Java API for Web Services (JAX-WS) 和 Java API for RESTful Web ...

    cxf源代码,样例,cxfdemo

    【标题】"cxf源代码,样例,cxfdemo" 涉及的主要知识点是Apache CXF框架的使用,特别是其在服务端开发中的应用。Apache CXF是一个开源的Java框架,它允许开发者创建和消费各种Web服务,包括SOAP和RESTful服务。CXF...

    apache-cxf-2.7.7

    CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载

    apache-cxf-2.7.7以及cxf客户端所需要的jar包

    Apache CXF是一个开源的Java框架,它主要用于构建和开发Web服务。这个压缩包"apache-cxf-2.7.7以及cxf客户端所需要的jar包"包含了Apache CXF 2.7.7版本及其客户端运行所需的库文件。这些jar包对于创建、部署和消费...

    apache-cxf-3.5.0.zip

    Apache CXF 是一款广泛使用的开源框架,主要用于构建和部署高质量的Web服务。它以其灵活性、易用性和强大的功能集而闻名。"apache-cxf-3.5.0.zip" 文件包含了CXF框架的3.5.0版本,该版本可能包含了一些新特性、改进...

    cxf依赖jar包.zip

    在IT行业中,CXF是一个广泛使用的开源框架,主要用于构建和开发Web服务。它不仅支持SOAP,还支持RESTful API,提供了强大的服务实现和消费能力。本篇将详细讲解如何使用CXF来集成Web Service接口到一个Web项目中,...

    CXF 一个完整的webService(整合客户端和服务端)

    【CXF:构建Web服务的全面指南】 CXF(CXF: XFire Community eXtended)是一个开源的Java框架,用于构建和部署Web服务。它提供了强大的支持,包括SOAP、RESTful API、WS-*规范等多种协议和服务模型。CXF不仅简化了...

    CXF2.2.3完整架包

    Apache CXF 是一个开源的Java框架,主要用于构建和开发服务导向架构(SOA)和Web服务。CXF这个名字是"CXF = XFire + XWS-Spring"的组合,它继承了XFire的功能并整合了Spring框架的支持。CXF2.2.3是该框架的一个特定...

    使用CXF和camel-cxf调用webservice

    Apache CXF和camel-cxf是两个流行的开源框架,它们可以帮助开发者轻松地创建、消费和集成Web服务。本篇文章将详细介绍如何使用CXF和camel-cxf调用Web服务,以及这两个工具的核心功能和使用场景。 Apache CXF是一个...

    cxf所需jar包

    CXF(CXF: Composite eXtensible Services Framework)是一个开源的Java框架,它主要用于构建和部署Web服务。CXF提供了全面的Web服务支持,包括SOAP、RESTful、WS-*规范以及各种协议和绑定。在Java开发环境中,使用...

    最新版CXF的jar包

    Apache CXF是一个开源的Java框架,专注于简化和构建SOAP(Simple Object Access Protocol)和RESTful(Representational State Transfer)Web服务。最新版CXF的jar包对于开发基于Web的服务至关重要,特别是针对那些...

Global site tag (gtag.js) - Google Analytics