Apache CXF 3.0.3 Release Notes

1. Overview

The 3.0.3 version of Apache CXF is a significant new version of CXF 
that provides several new features and enhancements.  

New features include: 
Full JAX-RS 2.0 support
New streaming based WS-Security implementation
Bean Validation 1.1
Much easier feature configuration options for JAX-WS
New CXF code generator frontend
Enhanced Reliable-Messaging 1.1 support

As part of the 3.0 refactoring, the runtime has been made smaller, 
many API’s have changed or where relocated, much duplicate 
functionality has been removed, etc…  Thus, 3.0 is not completely
compatible with CXF 2.x and some migration efforts may be required.

Users are encourage to review the migration guide at:
http://cxf.apache.org/docs/30-migration-guide.html
for further information and requirements for upgrading from 2.7.x.

3.0.3 fixes over 55 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 6 Development Kit
    * Apache Maven 3.x to build the samples


3.  Integrating CXF Into Your 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/30-migration-guide.html
for caveats when upgrading from CXF 2.7.x to 3.0.0


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


** Bug
    * [CXF-6030] - javax.xml.ws.soap.SOAPFaultException: Fault string, and possibly fault code, not set for cxf.
    * [CXF-6034] - Wrong schemaLocation if jax-ws-catalog is used
    * [CXF-6038] - Repeatedly invoking setHandlerChain() can cause a build up of handler interceptors on the chain
    * [CXF-6041] - Corba Binding is throwing a ObjectNotActive Corba exception being thrown back to application code on endpoint/bus shutdown
    * [CXF-6045] - Setting an entity from ClientRequestFilter has no effect if no entity is already set
    * [CXF-6057] - WADL to Java code generator does not support the documented "encoding" flag
    * [CXF-6058] - NPE in cxf-rt-transports-http org.apache.cxf.transport.http.Headers line 280
    * [CXF-6059] - wsdl:fault wsdl2java fails with IllegalArgumentException
    * [CXF-6060] - Calling readEntity() on Response created by Response.build() causes NullPointerException
    * [CXF-6061] - The publish attribute on jaxws:endpoint doesn't support placeholder in spring configuration
    * [CXF-6062] - Interceptors added in Spring Bus configuration are ignored 
    * [CXF-6066] - JAX-RS 2.0 Client implementation is OOM prone due to its strongly referencing WebTargets
    * [CXF-6067] - ProviderFactory fails to analyze generic types correctly with some class hierachies
    * [CXF-6071] - CXF's WSDL2Java tool can generate impl classes that jdk compiler will refuse to compile
    * [CXF-6072] - jaxrs securityContext.getUserPrincipal is broken if login is done during the request
    * [CXF-6073] - cxf-wsn installation in Karaf fails
    * [CXF-6075] - NPE may occur at websocket destination under high load
    * [CXF-6076] - MediaType parameter not parsed correctly 
    * [CXF-6077] - In OSGi, the wsdl extensor loaders may not be able to generate their special ExtensibilityELements
    * [CXF-6078] - AnnotationUtils.getAnnotatedMethod for abstract classes not inherit from interface
    * [CXF-6080] - Headers.logProtocolHeaders raise NPE on null header value
    * [CXF-6089] - XmlAccessorOrder.ALPHABETICAL, Exception.getMessage() duplicate WSDL elements generated
    * [CXF-6090] - java.lang.NullPointerException when running wsdl2java
    * [CXF-6091] - Server is not properly stopped with MultipleEndpointObserver
    * [CXF-6092] - When there is bad connection/timeout, ClientImpl throws NullPointerException
    * [CXF-6094] - wsdl2java - Default key managers cannot be initialized
    * [CXF-6101] - Accept Header not Respected with Response from Custom MessageReader
    * [CXF-6103] - Nillable field, in a json payload, was sent as "@nil":"true" instead of an empty string
    * [CXF-6104] - Support case insensitive mime types
    * [CXF-6105] - CXF 3.x does not use the older WS-SecurityPolicy 1.1 namespace
    * [CXF-6106] - ClientResponseFilterInterceptor wraps client response exchange message into ClientRequestContextImpl - as a result code can't access client request context
    * [CXF-6109] - Incorrect TrustException constructor in AbstractSTSClient 
    * [CXF-6112] - org.apache.cxf.jaxrs.impl.ResourceContextImpl#getResource should support a custom ResourceProvider
    * [CXF-6113] - allow a kind of chain in org.apache.cxf.common.util.ClassHelper
    * [CXF-6115] - Transferable.transferTo can cause infinite loop or stack overflow
    * [CXF-6118] - Schema Validation refinements
    * [CXF-6122] - JAX-RS proxy client with @QueryParam is not encoding the parameter value

** Improvement
    * [CXF-4242] - Add exception name to faultstring/detail/stackTrace
    * [CXF-6042] - Support certificate constraints in JAX-RS XML Signature
    * [CXF-6047] - Extend the STSTokenValidator to be able to call the issue binding
    * [CXF-6048] - Support roles in the AuthPolicyValidatingInterceptor
    * [CXF-6051] - Support sp13:Nonce + sp13:Created in the UsernameTokenInterceptor
    * [CXF-6054] - Add a property to allow using unsigned saml tokens as principals
    * [CXF-6064] - Improve WADL Generator Extensibility for ID generation
    * [CXF-6081] - Make it easier to control the way AccessTokenService checks the passwords 
    * [CXF-6084] - Critical Header for JWS
    * [CXF-6086] - Disable SSLv3 by default for clients (+ servers based on Jetty)
    * [CXF-6087] - Add a way to exclude (multiple) SSL/TLS protocols in the HTTPJ namespace
    * [CXF-6107] - Supporting (Un)marshaller aware XML Readers and Writers in jaxb data binding
    * [CXF-6110] - AbstractSTSClient MEX: download XML schema from Location
    * [CXF-6120] - Optionally disable the creation of the JMS Security Context for incoming messages

** New Feature
    * [CXF-5996] - respect client cache headers
    * [CXF-6053] - Support JWS JSON Serialization

** Task
    * [CXF-6052] - Upgrade the Karaf version to support JDK8
    * [CXF-6121] - Update to Jettison 1.3.7

** Test
    * [CXF-6070] - NPE while calling a webservice using a clientproxy

** Wish
    * [CXF-6068] - Make org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor compatible with WebSphere 7


