Overview

Apache CXF 2.3.0 is a 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

Installation Prerequisites

Before installing Apache CXF, make sure the following products, with the specified versions, are installed on your system:

Java Development Kit

You must install the Java SE Development Kit

After installing the JDK, set or modify the following environment variables:

  • JAVA_HOME – set this environment variable
    to point at the root directory of the JDK installation.
  • PATH – make sure that your PATH includes:
    %JAVA_HOME%\bin (Windows)
    $JAVA_HOME/bin (UNIX)

Apache Ant 1.6.5 (or newer, 1.7.0 should work as well) or Apache Maven

To run samples included in the binary distribution of Apache CXF, you must install the Apache Ant 1.6.5 build utility or Apache Maven 2.2.1 or newer, which can be downloaded from:

Ant: http://ant.apache.org/bindownload.cgi
Maven: http://maven.apache.org/download.html

After installing Apache Ant or Apache Maven, add the <InstallDir>/bin directory to your PATH.

For more details, see the Installation Guide.

Building the Samples

Building the samples included in the binary distribution is easy. Change to the samples directory and follow the build instructions in the README.txt file included with each sample.

Reporting Problems

If you have any problems or want to send feedback of any kind, please e-mail the cxf dev list, dev@cxf.apache.org. You can also file issues in JIRA at:

http://issues.apache.org/jira/browse/CXF

Migration notes:

See the migration guide at: http://cxf.apache.org/docs/23-migration-guide.html
for caveats when upgrading from CXF 2.2.x to 2.3.0.

JARs released with CXF 2.3.0

Technology

Description

CXF Uses This For

ANTLR

ANother Tool for Language Recognition, is a language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions containing actions in a variety of target languages

CORBA Support

AOP Alliance (Java/J2EE AOP standard)

AOP Alliance intends to facilitate and standardize the use of AOP to enhance existing middleware environments (such as J2EE), or development environments (e.g. JBuilder, Eclipse)

XML Configuration Support

Apache Commons Collections

Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities.

Java2WSDL and WSDL2Java

Apache Commons Lang

Lang provides a host of helper utilities for the java.lang API, notably String manipulation methods, basic numerical methods, object reflection, concurrency, creation and serialization and System properties.

Java2WSDL and WSDL2Java

Apache Commons Logging

The Logging package is an ultra-thin bridge between different logging implementations

General CXF Usage

Apache Commons Pool

Provides an Object-pooling API

JMS Transport

Apache Geronimo

The goal of the Geronimo project is to produce a server runtime framework that pulls together the best Open Source alternatives to create runtimes that meet the needs of developers and system administrators.

General CXF Usage, JAX-WS Support

Apache Neethi

Apache Neethi provides general framework for the programmers to use WS Policy.

General CXF Usage, Standalone HTTP Support

Apache Santuario

The Apache Santuario project is aimed at providing implementation of security standards for XML.

WS-Security Support

Apache Velocity

Open-source templating engine

Java2WSDL and WSDL2Java

Apache WSS4J

Apache WSS4J is an implementation of the OASIS Web Services Security (WS-Security) from OASIS Web Services Security TC.

WS-Security Support

Apache Xalan-Java

Xalan-Java is an XSLT processor for transforming XML documents into HTML, text, or other XML document types. It implements XSL Transformations (XSLT) Version 1.0 and XML Path Language (XPath) Version 1.0 and can be used from the command line, in an applet or a servlet, or as a module in other program.

WS-Security Support

Apache XML Commons - Resolver

Apache XML Commons -Resolver

XML Catalog Support

Apache XMLBeans

XMLBeans is a technology for accessing XML by binding it to Java types.

XMLBeans Databinding Support

Apache XMLSchema

XMLSchema is a lightweight Java object model that can be used to manipulate and generate XML schema representations.

General CXF Usage

ASM

ASM is a Java bytecode manipulation framework. It offers similar functionalities as BCEL or SERP, but is much more smaller and faster than these tools.

JAX-WS Support

Codehaus Java Rest Annotations

Java Rest Annotations

HTTP Binding Support

Codehaus Jettison

Jettison is a collection of Java APIs (like STaX and DOM) which read and write JSON.

HTTP Binding Support, JAX-RS Support

Codehaus Jetty

Jetty is an open-source project providing a HTTP server, HTTP client and javax.servlet container.

Standalone HTTP Support

Codehaus Woodstox

High-performance XML processor.

General CXF Usage

Fast Infoset

Fast Infoset (or FI) is an international standard that specifies a binary encoding format for the XML Information Set (XML Infoset) as an alternative to the XML document forma

XML Configuration Support

Jakarta ORO

A set of text-processing Java classes that provide Perl5 compatible regular expressions, AWK-like regular expressions, glob expressions, and utility classes for performing substitutions, splits, filtering filenames, etc.

Java2WSDL and WSDL2Java

Java Architecture for XML Binding (JAXB)

Allows Java developers to map Java classes to XML representations

General CXF Usage, Java2WSDL and WSDL2Java

JAX-RS

JAX-RS: Java API for RESTful Web Services is a Java programming language API that provides support in creating web services according to the Representational State Transfer (REST) architectural style. JAX-RS uses annotations, introduced in Java SE 5, to simplify the development and deployment of web service clients and endpoints. From version 1.1 on, JAX-RS is an official part of Java EE.

JAX-RS Support

Rhino Javascript

Rhino is an open-source implementation of JavaScript written entirely in Java

Javascript Functionality

Simple Logging Facade for Java (SLF4J)

Serves as a simple facade or abstraction for various logging frameworks

Standalone HTTP Support

SOAP with Attachments API for Java (SAAJ)

Provides a standard way to send XML documents over the Internet from the Java platform.

JAX-WS Support

Spring Framework

An open source application framework for the Java platform

XML Configuration Support, JMS Transport

Streaming API for XML

Stax2 API is an extension to basic Stax 1.0 API that adds significant new functionality, such as full-featured bi-direction validation interface and high-performance Typed Access API.

General CXF Usage

The Legion of the Bouncy Castle

Java cryptography APIs.

WS-Security Support

XML Serializer

XML Serializer, Release 2.7.1, allows you to write out XML, HTML etc. as a stream of characters from an input DOM or from input SAX events.

WS-Security Support