Apache CXF: An Open Source Service Framework

News

Apache CXF 2.3.0 is released!

Apache CXF 2.3.0 is an pretty significant upgrade from the 2.2.x series of releases. There are plenty of new features and other improvements including:

  • JAX-WS 2.2 Support
  • JAX-RS 1.1 Support
  • New annotations of java first use cases
    • @WSDLDocumentation annotation to add documentation nodes to generated wsdl
    • @SchemaValidation annotation to turn on schema validation
    • @DataBinding to set the databinding used (if other than JAXB)
    • @GZIP to turn on GZIP compression
    • @FastInfoset to turn on FastInfoset support
    • @Logging to turn on and control various Logging functionality
    • @EndpointProperty to configure endpoint properties
    • @Policy to associate WS-Policy documents with the service
  • SOAP/JMS spec implementation
  • SDO databinding
  • Schema Validation support for Aegis Databinding if Woodstox 4 is used for the Stax parser

See the release notes for the latest migration and upgrade information.

Downloads are available here.

Overview

Apache CXF is an open source services framework. CXF helps you build and develop services using frontend programming APIs, like JAX-WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI.

CXF includes a broad feature set, but it is primarily focused on the following areas:

CXF implements the JAX-WS APIs (TCK compliant). CXF JAX-WS support includes some extensions to the standard that make it significantly easier to use, compared to the reference implementation: It will automatically generate code for request and response bean classes, and does not require a WSDL for simple cases.

It also includes a "simple frontend" which allows creation of clients and endpoints without annotations. CXF supports both contract first development with WSDL and code first development starting from Java.

For REST, CXF also supports a JAX-RS (TCK compliant) frontend.

To get started using CXF, check out the downloads, the user's guide, or the mailing lists to get more information!

Goals

General

Support for Standards

JSR Support
WS-* and related Specifications Support

Multiple Transports, Protocol Bindings, Data Bindings, and Formats

Flexible Deployment

Support for Multiple Programming Languages

Tooling

Getting Involved

Apache CXF is currently under heavy development. To get involved you can subscribe to the mailing lists. You can also grab the code from the Source Repository. You also need to read about Building CXF. For Eclipse users, you should read about Setting up Eclipse.