Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Apache

...

CXF™: An Open-Source

...

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

...

Services Framework

Overview

Apache CXF 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.

News

May 13, 2019 - Apache CXF 3.3.2 released!

The Apache CXF team is proud to announce the availability of our latest patch release!  Over 31 JIRA issues were fixed in this release.

This is mostly a patch release to fix problems and issues that users have encountered.   Downloads are available here.

May 13, 2019 - Apache CXF 3.2.9!

The Apache CXF team is proud to announce the availability of the latest patch releases. Over 11 JIRA issues were fixed for 3.2.9.

This is mostly a patch release to fix problems and issues that users have encountered.   Downloads are available here.

Features

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

  • Web Services Standards Support: CXF supports a variety of web service standards including SOAP, the WSI WS-I Basic Profile, WSDL, WS-Addressing, WS-Policy, WS-ReliableMessaging, WS-Security, WS-SecurityPolicy, WS-SecureConverstation, and WS-Trust (partial).
  • Frontends: CXF supports a variety of "frontend" programming models.

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.

...

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

  • Ease of use: CXF is designed to be intuitive and easy to use. There are simple APIs to quickly build code-first services, Maven plug-ins to make tooling integration easy, JAX-WS API support, Spring 2.x XML support to make configuration a snap, and much more.
  • Binary and Legacy Protocol Support: CXF has been designed to provide a pluggable architecture that supports not only XML but also non-XML type bindings, such as JSON and CORBA, in combination with any type of transport.

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

...

Goals

General

  • High Performance
  • Extensible
  • Intuitive & Easy to Use

Support for Standards

JSR Support
  • JAX-WS - Java API for XML-Based Web Services (JAX-WS, ) 2.0 - JSR-224
  • Web Services Metadata for the Java Platform - JSR-181, SAAJ,
  • JAX-RS - The Java API for RESTful Web Services - JSR-311
  • SAAJ - SOAP with Attachments API for Java (SAAJ) - JSR-67
WS-* and related Specifications Support
  • Basic support: WS-I Basic Profile 1.1
  • Quality of Service: WS-Reliable Messaging
  • Metadata: WS-Policy, WSDL 1.1 - Web Service Definition Language
  • Communication Security: 2, WS-I BasicProfile, WS-Security, WS-AddressingSecurityPolicy, WS-SecureConverstationSecureConversation, WS-Trust (partial support),
  • Messaging Support: WS-RM, WS-Policy
  • WSDL 1.1
  • Addressing, SOAP 1.1, SOAP 1.2, Message Transmission Optimization Mechanism (MTOM)
OpenAPI Specification (OAS) Support
  • OAS 2.0 (classic Swagger specification)
  • OAS 3.0.x (new revised specification)MTOM

Multiple Transports, Protocol Bindings, Data Bindings, and Formats

  • Transports: HTTP, Servlet, JMS, In-VM and many others via the Camel transport for CXF such as SMTP/POP3, TCP and Jabber
  • Protocol Bindings: SOAP, REST/HTTP, pure XML
  • Data bindings: JAXB 2.x, Aegis, Apache XMLBeans, Service Data Objects (SDO), JiBX
  • Formats: XML Textual, JSON, FastInfoset
  • Transports: HTTP, Servlet, JMS, and many others via the Camel transport for CXF
  • Extensibility API allows additional bindings for CXF, enabling additional message format support such as CORBA/IIOP

...

  • Lightweight containers: deploy services in Jetty, Tomcat or Spring-based containers
  • JBI integration: deploy as a service engine in a JBI container such as ServiceMix, OpenESB or Petals
  • Java EE integration: deploy services in Java EE application servers such as Apache Geronimo, JOnAS, Redhat JBoss, OC4J, Oracle WebLogic, and IBM WebSphere
  • Standalone Java client/server

...

  • Full support for JAX-WS 2.x client/server programming model
  • JAX-WS 2.x synchronous, asynchronous and one-way API's
  • JAX-WS 2.x Dynamic Invocation Interface (DII) API
  • JAX-RS for RESTful clients
  • Support for wrapped and non-wrapped styles
  • XML messaging API
  • Support for JavaScript and ECMAScript 4 XML (E4X) - both client and server
  • Support for CORBA
  • Support for JBI with ServiceMix

Tooling

Code Generation

  • Generating Code: WSDL to Java, WSDL to JavaScript, Java to WSDLJavaScript
  • Generating WSDL: Java to JavaXSD WSDL, XSD to WSDL, IDL to WSDL, WSDL to XML
  • Adding Endpoints: WSDL to SOAP, WSDL to CORBA, WSDL to service
  • Generating Support Files: WSDL to IDL
  • WSDL to JavaScript
  • IDL to WSDL
  • Java to JavaScriptValidating Files: WSDL Validation

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.