Apache CXF 2.0 (incubating) Release Notes

1. Overview

Apache CXF 2.0, under incubation,  delivers the second milestone of 
the Celtix project (http://celtix.objectweb.org) and the XFire project
(http://xfire.codehaus.org) merge.  This release includes the following 
new features and enhancements since 2.0-RC:
    * CXF is now JAX-WS and JWS (JSR 181) compliant
    * A persistent store for WS-ReliableMessaging
    * Supports for MTOM Policy expressions
    * Many performance and stability improvements
    * Many bug fixes

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

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.

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 (incubating) release:

Bug Fixes:
    * [CXF-257] - PortType can have its own targetnamespace and different from the service one
    * [CXF-305] - Unsupport handling of schema which will have @XmlElementRef & JAXBElement in type code generated by JAXB
    * [CXF-361] - XML Binding: inconsistency in schema for WSDL Extension.
    * [CXF-362] - wsdltojava generated code has inconsistent style
    * [CXF-369] - xsd:dateTime becomes XMLGregorianCalendarImpl when Date needed
    * [CXF-386] - RootNode defined in XMLBinding is not added to the Stax Stream when there is only one Message Part.
    * [CXF-436] - JAX-WS Handlers @PostConstruct/@PreDestroy methods not called
    * [CXF-437] - @Resources are not injected into Handlers
    * [CXF-447] - The java2wsdl tool generated wrong namespace for datatypes
    * [CXF-453] - JAXWS Java-Frist server side throws SoapFault when @WebParam is missing for rpc/lit
    * [CXF-454] - Document/Lit/Bare doesn't work for Java-Frist mode
    * [CXF-463] - Partial webservice annotation on the SEI but the implementor has complete attributes
    * [CXF-464] - WS-RM Sample fail
    * [CXF-481] - More supports for imported xsd access
    * [CXF-493] - -b option doesn't work
    * [CXF-509] - java2wsdl needs to support codegen for RequestWrapper and RespondeWrapper in some case
    * [CXF-510] - SpringBusFactory only use DEFAULT_BUS_ID to create bus from context
    * [CXF-520] - Generated wsdl using runtime code for the following class is invalid : Port has no location attribute
    * [CXF-525] - ClassNameAllocatorImpl might be missing class name collision checking for other types
    * [CXF-527] - JaxwsServiceFactoryBean bugs with RPC style
    * [CXF-528] - Interface Hello in JaxWsServiceConfigurationTest is not a legal jaxws SEI
    * [CXF-530] - Error in doSenderAction call in WSS4JOutInterceptor
    * [CXF-536] - Default namespaces with no prefixes and set are coming out empty
    * [CXF-541] - org.apache.cxf.jaxws.EndpointImpl does not set endpoint name in service factory
    * [CXF-544] - JAXWS Client Proxy does not use executor assigned to JAXWS Service in async invocations
    * [CXF-558] - JAX-WS Context not injected for RESTful service implementations
    * [CXF-597] - Adding the WS-A classes to the JAXBContext in JAXBDataBinding causes extra namespace to be written
    * [CXF-602] - EBay WSDL does not work
    * [CXF-610] - Java2Wsdl can not handle String[] in generating wrapper beans
    * [CXF-615] - create service from class can't set operationInfo isOneWay rightly
    * [CXF-617] - Standalone Jetty Server Does Not Modify soap:address As Needed
    * [CXF-619] - AbstractHTTPDestination sets null server addresses
    * [CXF-621] - org.apache.cxf.bus.spring.BusApplicationContext constructor does not respect "include defaults" flag
    * [CXF-624] - cxf-rt-transports-http pom.xml has compile dependencies on jetty and servlet-api
    * [CXF-625] - ws_rm sample failing to compile
    * [CXF-626] - soap12 sample (using HTTP Get) doesn't work
    * [CXF-627] - WSDL2Java JAXWS frontend does not handle enableAsyncMapping for non-Java-named operations
    * [CXF-628] - Service.addPort(QName, String, String) does not accept binding ID javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING
    * [CXF-631] - Regression in simple front end WSDL auto-generation
    * [CXF-633] - SOAP 1.2 action header is sent incorrectly
    * [CXF-638] - Need an api to use the wsdlValidator and SchemaValidator
    * [CXF-641] - Schema error if more than one methods throws the same exception type.
    * [CXF-642] - StaxUtil should test for null NamespaceContext in getUniquePrefix
    * [CXF-645] - WsdlValidator fails if the wsdl does not have a binding.
    * [CXF-648] - Problem with Aegis databinding
    * [CXF-653] - CXF not processing the BindingProvider.SESSION_MAINTAIN_PROPERTY
    * [CXF-654] - Inherited @Resource annotated fields/methods declared not injected
    * [CXF-656] - Null Point Exception for Java Frist approach without @WebParam annotation when try to start server
    * [CXF-658] - Tool dependecies on runtime components
    * [CXF-659] - Server notifying ServerLifeCycleManager only when InstrumentationManager is available
    * [CXF-660] - org.apache.cxf.jaxb.WrapperHelper.getWrappedPart() throws NPE when element type is boolean
    * [CXF-663] - CXF's spring jaxws syntax doesn't support http-binding
    * [CXF-664] - CXF-servlet doesn't support http-binding
    * [CXF-667] - CXFServlet causes NPE during destroing when config-location isn't specified
    * [CXF-669] - When SEI's and IMPLS have different namespaces, we don't generate the correct WSDL(s)
    * [CXF-670] - Validator flags valid rpc/lit operations as invalid
    * [CXF-672] - HTTPS sample failing
    * [CXF-677] - Wrong types are generated for SwA
    * [CXF-690] - durable subscriptions is not set in JMS transport
    * [CXF-695] - Servlet systest need to add context path to simulate the real environment
    * [CXF-697] - Agis ClassCastException:
    * [CXF-700] - MTOM sample doesn't seem right
    * [CXF-706] - Multiple Http Destinations cannot use the same address when using HTTPS.
    * [CXF-718] - JettyHTTPServerEngineFactory not configured initially.
    * [CXF-721] - HTTPS sample output message misleading
    * [CXF-723] - The "time" logging in both the WSS4JInInterceptor and the WSS4JOutInterceptor contains incorrect or redundant information
    * [CXF-724] - Interceptor ordering declared programmatically is being overriden by configuration
    * [CXF-725] - HTTPS NullPointer Exception in CXFJettySslSocket
    * [CXF-728] - StreamInterceptor sample failed
    * [CXF-28] - "Nice" XML
    * [CXF-139] - Port Celtix RM Persistence Handler to CXF
    * [CXF-219] - CXF Binding Component
    * [CXF-325] - Add cxf-rt-transport-http2 to use Jetty6's API
    * [CXF-545] - Set the serviceName through java2wsdl using the JaxwsServiceFactoryBean
    * [CXF-546] - Set the indent of the generated wsdl
    * [CXF-554] - javatowsdl fails when Wrapper bean class does not contain namespace
    * [CXF-561] - javatowsdl generates duplicate schemas when @RequestWrapper does not contain namespace element
    * [CXF-564] - Generate wrong wsdl file for holder
    * [CXF-572] - Top level README.txt
    * [CXF-581] - helloworld_xml_bare servlet demo failed
    * [CXF-582] - helloworld_xml_wrapped servlet demo failed
    * [CXF-584] - hello_world sample (Running demo with HTTP Get section) doesn't work
    * [CXF-586] - hello_world_xml_wrapped (Using HTTP Get section) doesn't work
    * [CXF-589] - hello_world demo in tomcat 6.0.10 is failed

Improvement:
    * [CXF-264] - servlet should publish xsd file
    * [CXF-299] - Readme should have links to bug tracking system
    * [CXF-304] - Document how interceptor chain works
    * [CXF-341] - Display user supplied wsdl in HTTP transports
    * [CXF-428] - Include rhino in packaging
    * [CXF-487] - JAXB shoudl write to the OutputStream if possible
    * [CXF-513] - wsdlvalidator improvement
    * [CXF-594] - Java2Wsdl require a portName argument
    * [CXF-622] - HTTPClientPolicy CacheControl type should accept parameters for some directives
    * [CXF-629] - WSDL2Java/cxf-codegen-plugin should not generate client artifacts when "-impl" flag is provided
    * [CXF-666] - SSL Programtic and Spring Configuration and Jetty upgrade to 6.1.3
    * [CXF-727] - make cxf sampel common build support more than one jar

New Feature:
    * [CXF-181] - session support as the jax-ws specification The default value is false.
    * [CXF-262] - New JBIBinding to allow wsdl with correct informations to be used inside the JBI SE
    * [CXF-291] - Support Commons HTTP Client for HTTP conduit
    * [CXF-593] - Support WS-MTOMPolicy
    * [CXF-649] - Add the performance interceptors to collect the message's response time

Task:
    * [CXF-46] - JAX-WS Compliance
    * [CXF-215] - CXF API documentation
    * [CXF-516] - Replace the old java2wsdlProcess to use JaxWsServiceBuilder to generate wsdl
    * [CXF-686] - Clean up the Managed ObjectName in CXF
    * [CXF-698] - command line tool for managed endpoint

Test:
    * [CXF-112] - CXF performance testing and tuning
    * [CXF-150] - Interop testing with WCF, Axis2
    * [CXF-562] - add system test to ensure soap12 fault working
    * [CXF-571] - CXF-2.0 RC Kit testing
