
Apache CXF 2.3.3 Release Notes

1. Overview

The 2.3.x versions of Apache CXF are significant new versions of CXF 
that provides several new features and enhancements.  

New features include: 
 * JAX-WS 2.2 Support
 * JAX-RS 1.1 Support
 * 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


2.3.3 fixes over 52 JIRA issues reported by users and the community.



2. Installation Prerequisites 

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

    * Java 5 Development Kit
    * Apache ant 1.6

2.1 Java 5 Development Kit

You must install the J2SE Development Kit (JDK) 5.0, which can be downloaded
from:

    http://java.sun.com/j2se/1.5.0/download.jsp

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 5.0 installation.

    * PATH -- make sure that your PATH includes: 
      %JAVA_HOME%\bin  (Windows) 
      $JAVA_HOME/bin   (UNIX)

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

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

    http://ant.apache.org/bindownload.cgi

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

For more details, see the Installation Guide.

3.  Integrating CXF Into You Application

If you use Maven to build your application, you need merely add
appropriate dependencies. See the pom.xml files in the samples.

If you don't use Maven, you'll need to add one or more jars to your
classpath. The file lib/WHICH_JARS should help you decide which 
jars you need.

4. 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.

5. 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


6. 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.x.


7. Specific issues, features, and improvements fixed in this version


** Bug
    * [CXF-3077] - java.lang.InstantiationException: org.apache.cxf.wstx_msv_validation.WoodstoxValidationImpl
    * [CXF-3230] - CXF over JMS leaks JMS resources  when no replay queue is specified
    * [CXF-3253] - LocalConduit with DirectDispatch does not work with interceptors that decorate the OutputStream
    * [CXF-3254] - idl2wsdl should be able to honor #if preprocessor
    * [CXF-3257] - ServiceImpl.getPorts not returning ports created with addPort
    * [CXF-3264] - idl2wsdl tool shouldn't fail when encounter #pragma directive
    * [CXF-3266] - CXF uses the incorrect namespace to refer to an Encrypted Key
    * [CXF-3271] - WS-RM code does not support InOrder assurances
    * [CXF-3274] - JAX RS @FormParam error
    * [CXF-3277] - soap headers can't be carried back when exception happen
    * [CXF-3280] - idl2wsdl does not process multiple include directories -I <dir> correctly.
    * [CXF-3286] - idl2wsdl tool should be able to honor local keyword
    * [CXF-3288] - Multiple Client.getResponse() calls do not work
    * [CXF-3289] - idl2wsdl fails if reference to interface is used inside the interface itself.
    * [CXF-3290] - wsdl2java fails to generate working client code if web service and portType have the same name
    * [CXF-3292] - MultipartProvider does not support reading Maps
    * [CXF-3293] - idl2wsdl tool fails if parameter refer an interface from other module in an included idl file
    * [CXF-3294] - idl2wsdl tool fails if inherit interface has oneway method
    * [CXF-3295] - idl2wsdl tool fails for some comment format
    * [CXF-3296] - wsdl2java tool should always use catalog to resovle the overwriten url firstly 
    * [CXF-3297] - idl2wsdl fails with NPE if IDL contains typeprefix keyword
    * [CXF-3298] - JAXRSUtils uses a split function to find name and value of the query and matrix params
    * [CXF-3299] - jaxws frontend should not reference http and local transports
    * [CXF-3303] - idl2wsdl fails with NPE if a type cannot be resolved
    * [CXF-3304] - WebClient POST to a resource that returns 401 returns a blank InputStream when there's supposed to be text
    * [CXF-3305] - Request payload as StaxSource: first event is -1
    * [CXF-3314] - Separate loggers for LoggingInInterceptor and LoggingOutInterceptor
    * [CXF-3319] - idl2wsdl defines XSD types multiple times in wsdl. 
    * [CXF-3326] - Fixed the test error of simple frontend
    * [CXF-3330] - URITemplate does not escape literal '+' characters
    * [CXF-3332] - SourceDataBinding doesn't create a thread safe DataReader 
    * [CXF-3340] - wsdl2java caches the input wsdl file or result so there is no differnce in the output when called a second time from the same process and with the same wsdl file path
    * [CXF-3345] - cxt-rt-core references spring-beans-2.5.xsd - breaks Spring 3 compatibility
    * [CXF-3347] - ws_security's ut and sign_enc samples define ConciseFormatter with the wrong package name
    * [CXF-3349] - NPE may be thrown in WS-RM scenarios at the server side when rebasing the response
    * [CXF-3351] - JAXBElementProvider ignores stream readers when creating JAXBElements 
    * [CXF-3353] - can't refer to java.lang.Exception in gererated fault code


** Improvement
    * [CXF-3124] - Accessing HTTPConduit in the CXF JAXRS client code requires the cxf-rt-transports-http-jetty dependency
    * [CXF-3170] - NullPointerException in StaxUtils.java:961
    * [CXF-3261] - JAX-RS: Performance improvement for JAXRSOutInterceptor.checkBufferingMode
    * [CXF-3262] - JAX-RS: Performance Improvement: Don't use IllegalArgumentException to determine if a URI chunk is a variable or literal
    * [CXF-3279] - Marking the imports of the CORABA package to be optional
    * [CXF-3285] - JAX-RS: Avoid implicit use of regular expression in JAXRSUtils.intersectMimeTypes
    * [CXF-3310] - Cannot use <jaxws:client createdFromAPI=true> to configure proxies created with JaxWsProxyFactory
    * [CXF-3311] - Incremental generation for XMLBeans
    * [CXF-3322] - Introduce the extended SecurityContext interface
    * [CXF-3324] - JAXRSUtils: Avoid calling Message unless it'll be logged
    * [CXF-3325] - Logging interceptors should show the HTTP method
    * [CXF-3327] - PhaseInterceptorChain should warn user if the interceptor phase can't be found
    * [CXF-3334] - cxf-jms should support topicReplyToName option in the JMS URI
    * [CXF-3348] - [cxf-rt-ws-security] Fix for TokenType support  
    * [CXF-3355] - Exports the properties of OSGi transport Servlet













