Apache CXF 2.3.0 released!

It’s been a LONG time coming (way too long, actually), but Apache CXF 2.3.0 is finally released. This version is a pretty significant upgrade from the 2.2.x series of releases.

New features include:

  • JAX-WS 2.2 Compliant (passes TCK)
  • JAX-RS 1.1 Compliant (passes TCK)
  • New annotations for Java first use cases to reduce the need for external configuration and provide more control over the runtime and generated WSDL
    • @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. While CXF has supported SOAP over JMS since 2.0, there wasn’t a standard specification to describe how it should be done so different vendors did things differently and interoperability was impossible. The new SOAP/JMS specification support implements the new SOAP/JMS spec to achieve a higher degree of interoperability. The older SOAP/JMS configuration is still supported. WS-Addressing also now fully works with the JMS transport when used in conjunction with the SOAP/JMS spec implementation.
  • SDO databinding
  • Schema Validation support for Aegis Databinding if Woodstox 4 is used for the Stax parser
  • Many other small tweaks and enhancements, too many to enumerate.

In addition to the above, CXF 2.3.0 was enhanced to reduce it’s memory footprint and reduce it’s startup time by delaying creation of many objects until/unless they are really needed.

See the 2.3 Migration guide for more details about the release.

Along with 2.3.0, the latest patch for the 2.2.x series (2.2.11) was also released. This patch fixes over 60 JIRA issues compared to 2.2.10. The CXF community prides itself on it’s ability to get fixes out to users in a timely manner. However, if you need better support than that, I have to recommend contacting Sopera as they can support all aspects of CXF usage better than any other company.(my opinion)

Apache CXF 2.2.2 released – JAX-RS 1.0 and JBoss-WS

This past week, the Apache CXF team released the latest patch for the 2.2.x series: 2.2.2. Normally, patch releases aren’t very exciting. Usually just a bunch of bug fixes. However, this release provides two extremely noteworthy bullets:

  • JAX-RS 1.0 – 2.2.2 is the first release of Apache CXF to pass the JAX-RS 1.0 TCK. The 2.1.x versions of Apache CXF introduced some preliminary versions of JAX-RS based around the 0.6 and 0.8 versions of JAX-RS. 2.2.0 updated the basica API’s to 1.0 level, but was not fully JAX-RS 1.0 compliant. We finally got access to the TCK a short while ago and 2.2.2 includes all the patches and fixes necessary to get CXF to pass the 1.0 TCK. We still have a bunch of ideas and plans to make the REST/JAX-RS support in CXF even better, but passing the TCK is an exciting milestone.
  • JBoss-WS – the JBoss WebServices team released JBossWS-CXF 3.1.2 based on Apache CXF 2.2.2. This release of JBossWS-CXF is the first to completely pass the various JAX-WS/JWS/SAAJ/JAXR parts of the J2EE CTS/TCK. This is just the first results of the JBoss/CXF collaboration. To achieve this, JBoss did identify and submit patches for several issues in CXF. They also done extensive testing with their own stack, .NET, and others to make sure CXF will completely meet their needs. JBossWS-CXF 3.1.2 is a result of all of that, but it’s also just a beginning. Now that the TCK is passing, we hope to expand the collaboration into more than just “tck bug fixes” with new features, new ideas, etc…

Anyway, definitely another exciting week for Apache CXF. Many thanks go out to the entire Apache CXF team, the JBoss folks that identified and fixed issues, and the Progress FUSE team for helping with the testing and development.