
Apache CXF 2.3.6 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.6 fixes over 40 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-3159] - JSONProvider has hard dependency on Jettison in Websphere
    * [CXF-3584] - ?wsdl does not rewrite soap:address for soap1.2 service
    * [CXF-3586] - CXF JAX-RS clients ignore custom service QNames when creating the service model 
    * [CXF-3590] - Exception when setPrettyLogging(true) for LoggingInInterceptor (or LoggingOutInterceptor)
    * [CXF-3598] - JAXBDataBinding swallowing exception
    * [CXF-3608] - CXF JAX-RS selection algorithm always prefers resource methods to subresource locators
    * [CXF-3609] - Oneway CXF service having problem with Gemini-Web\u200b/Tomcat-ca\u200btalina
    * [CXF-3614] - Thread leak in WorkQueueManagerImpl and AutomaticWorkQueueImpl when we use it in tomcat
    * [CXF-3618] - Extremely bad performance in JMS transport when the MessageListenerContainer is used
    * [CXF-3620] - Chunking is not supported for non-empty HTTP PUT requests
    * [CXF-3625] - CXF-3229 all over again
    * [CXF-3627] - high load may cause deadlocks
    * [CXF-3637] - wsdl_first_https README.txt isn't correct
    * [CXF-3638] - wsdl_first_dynamic_client example doesn't work
    * [CXF-3639] - The duplicate soap body is appended  when the endpoint is both configured with soap handler and wsse enabled
    * [CXF-3641] - CXF JAXRS Proxies can not handle explicilt collections of form parameters
    * [CXF-3645] - configuration_interceptor simple doesn't work due to missing configuration file
    * [CXF-3648] - Wrong scope for commons-pool
    * [CXF-3650] - jax-rs basic example doesn't work when there's a space in file path url
    * [CXF-3660] - JAXRS proxies should not append single slash path values 
    * [CXF-3675] - DOMUtils Caching vs. ClassLoading problems
    * [CXF-3679] - CXFNonSpringJaxrsServlet can not register CXF in/out interceptors when Application is also registered
    * [CXF-3684] - CXF does not create a Holder for the headers
    * [CXF-3689] - path_info should not be contextPath + req.getPathInfo()
    * [CXF-3695] - Jetty startup is not threadsafe
    * [CXF-3696] - Race condition in BusFactory
    * [CXF-3697] - the clientDestroyed() of ClientLifeCycleListener impl not be called when the service with jaxws:client undeployed
    * [CXF-3703] - Avoid overriding Content-Type in WebClient for GET requests
    * [CXF-3707] - CXF can not generate right schema information if a empty schema-location is passed into the ServerFactoryBean
    * [CXF-3727] - depends-on attribute not working on factory based beans
    * [CXF-3729] - TLSParameterJaxBUtils is unable to use keystores with empty file/url/resource.

** Improvement
    * [CXF-3102] - Update Apache CXF's main pom.xml file
    * [CXF-3600] - add OBR resolver to karaf features descriptor
    * [CXF-3629] - mbean WorkQueueManager misses information about thread pool status
    * [CXF-3634] - Avoid risk of deadlock and speed up execution in JDKBugHacks.doHacks()
    * [CXF-3642] - js_browser_client_simple demo throws exception with stack trace in client output but README.txt does not mention it.
    * [CXF-3643] - Migrate to Jetty 7.4.3 from 7.4.2.
    * [CXF-3647] - Add schema validation explaination for samples/wsdl_first_xmlbeans README
    * [CXF-3654] - Non-informative exception thrown in JAXRSUtils
    * [CXF-3663] - Migrate to Jetty 7.4.4 from 7.4.3.
    * [CXF-3672] - add a featrue to Soap11FaultOutInterceptor to custom http response status code
    * [CXF-3680] - Logging locations are hidden with Slf4jLogger
    * [CXF-3682] - CXF Example: java_first_jaxws, Warnings: Unused imports

** Task
    * [CXF-3673] - Make ResponseBuilder.tag produce consistent output with EntityTag and String parameters






