Apache CXF 2.0.4 (incubating) Release Notes

1. Overview

Apache CXF 2.0.4, under incubation,  delivers the third milestone of 
the Celtix project (http://celtix.objectweb.org) and the XFire project
(http://xfire.codehaus.org) merge.  This release is mostly a patch release
from 2.0.3 fixing 82 JIRA issues.


2. Installation Prerequisites 

Before installing Apache CXF (incubating), 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 (incubating),
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.


2.3 Bouncy Castle/JCE requirement for WS-Security

To use the WS-Security features of CXF, you need to obtain a JCE crypto provider
that implements the algorithms that you plan to use. One option is to download 
the Bouncy Castle jar from:
http://bouncycastle.org/download/bcprov-jdk14-136.jar 
and add that to the lib directory or classpath.   



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

4. Errata

4.1 WS-Security
The WS-Security configuration mechanisms may change between this release and 
the next one as we add in support for WS-SecurityPolicy and WS-Trust.

5. Reporting Problems

If you have any problems or want to send feedback of any kind, please e-mail the
cxf dev list, cxf-dev@incubator.apache.org.  You can also file issues in JIRA at:

http://issues.apache.org/jira/browse/CXF

6. Specific issues, features, and improvements fixed in the 
Apache CXF 2.0.4 (incubating) release:


** Bug
    * [CXF-865] - CXF http-jetty transport do not call the jetty server engine shutdown when the server stop
    * [CXF-941] - Dispatch invokeOneWay is trying to parse responses
    * [CXF-1054] - Aegis issues with maps
    * [CXF-1180] - If Exchange is the last parameter on the method parameter list of a JAX-WS operation, then CXF generates a part for it, so invoking the service fails because there will be too many parameters 
    * [CXF-1186] - WS-Addressing is working with the API approach
    * [CXF-1187] - Using Spring  <context:annotation-config /> spawns creation error on  org.apache.cxf.transport.servlet.ServletTransportFactory
    * [CXF-1192] - Jsr250BeanPostProcessor, non reentrant ResourceInjector results in IllegalArgumentException
    * [CXF-1196] - @BindingType(SOAP11HTTP_MTOM_BINDING) is not activating MTOM
    * [CXF-1202] - In/Out out of band headers causing Exception in HolderOutInterceptor
    * [CXF-1212] - wsdl2java mojo dependency clash with testDependencies - no workaround available - new config option needed
    * [CXF-1216] - WS-Addressing & .net Interop
    * [CXF-1217] - Address in use errors from attempt to repeatedly start and stop services
    * [CXF-1218] - Memory Leak in Policy Engine
    * [CXF-1219] - Aegis databinding class XMLTypeCreator uses DocumentBuilderFactory.setSchema(aegisSchema), this is not implemented by all XML parsers, some throw UnsupportedOperationException, must be handled
    * [CXF-1221] - update samples/integration/outbound sample.
    * [CXF-1223] - Client code generates no parameters or return values for WSDL with multiple elements with same name
    * [CXF-1225] - java2ws tooling is not fully merged to 2.0.x branch
    * [CXF-1226] - elementFormDefault from package-info.java ignored with JAXWS+JAXB when there are no beans
    * [CXF-1227] - NPE in HttpHeaderHelper.mapCharset
    * [CXF-1236] - Scary warnings from new engine lifecycle
    * [CXF-1238] - DispatchIndataBindingInterceptor removes out the inputStream even if it not a SOAP or XML Binding.
    * [CXF-1244] - Application Exception not serialized properly
    * [CXF-1245] - Thread hangs when processing response message using LocalTransport with dispatchDirect
    * [CXF-1249] - CXF run with Spring 2.5  will get bean create error (out of stack memory) when CXF configures the endpoint with the <jaxws:endpoint> configure file
    * [CXF-1251] - Error from CXF if optional method argument is missing
    * [CXF-1256] - java.lang.SecurityException when i use cxf-codegen:wsdl2java for maven in netbeans ide
    * [CXF-1260] - ConfigureImpl with spring construction duplicates looking for cxf.xml on the classpath and can error out with a warning
    * [CXF-1264] - JettyHTTPDestination does not set a thread default bus
    * [CXF-1273] - WSDLRefValidator can not pass if the type is xsd:anyType
    * [CXF-1276] - Content-Encoding treated as a charset by HTTPConduit.WrappedOutputStream.handleResponse
    * [CXF-1278] - ObjectFactory.class is missing when a JAXBContext is created and no WS addressing information is added
    * [CXF-1290] - SecurityException in FileUtils.getDefaultTempDir
    * [CXF-1294] - Problem creating several custom Headers
    * [CXF-1296] - CXF throwing UnsupportedOperationException when including header.
    * [CXF-1297] - Simple frontend clients don't work with wsdl first
    * [CXF-1306] - samples/restful_http_binding/test.html does not work with IE (works with Firefox)
    * [CXF-1308] - another javascript problem with restful_http_binding demo
    * [CXF-1313] - MTOM client side can not unmarshal the returned Holder<Source>
    * [CXF-1332] - CXF2.0.3 rejects wrapped array parameters when they have whitespace or comments
    * [CXF-1333] - Aegis drops all but the last from an array of JDOMElements
    * [CXF-1344] - Remove the duplicate Handler annotaion  when the service contains two ports
    * [CXF-1346] - Please don't drop velocity.log files into the home directory
    * [CXF-1351] - static DocumentBuilderFactory in XMLUtils cause ClassCastException when use different classloader
    * [CXF-1383] - extensibleElement default is wrong for the Aegis-specific @XmlType annotation
    * [CXF-1392] - Java first, unannotated exceptions are always written qualified although schema usually says unqualified.
    * [CXF-1393] - WS-Policy PolicyBuilder implementation recognizes only a single policy namespace
    * [CXF-1399] - JMS transport ignoreing Message.PROTOCOL_HEADERS

** Improvement
    * [CXF-1224] - Enable setting of JAXBContext config options from within Spring context
    * [CXF-1237] - Update wsdltojava to make generated service qnames publicly accessible
    * [CXF-1357] - Setting CXF eclipse output directory to be eclipse-classes instead of target
    * [CXF-1055] - Validation of Aegis files would reduce user frustration
    * [CXF-1167] - Add new feature to publish service infomation to external repository 
    * [CXF-1199] - new ServiceContractResolver that cxf can resolve wsdl file from extension repository/storage
    * [CXF-1195] - xjc dv plugin doesn't provide default values for enums
    * [CXF-1206] - xjc dv plugin doesn't provide default values for complexTypes that contain elements


