Apache CXF 2.3.8 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.8 fixes over 32 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 /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-3829] - NPE in wsdl2java if soap:binding tag is omitted * [CXF-3836] - Missing output parameters in wrapped method implementations generate NPE * [CXF-3840] - WS-Addressing and WS-RM: Nested Reference Parameters in request are not supported and become concatenated in the response to client * [CXF-3845] - Incompatibility between Derby 10.8 and WS-RM RMTxStore * [CXF-3846] - NullPointerException when requesting ?wsdl using AegisDatabinding and @SchemaValidation * [CXF-3847] - ResponseBuilderImpl.status - validation against instance var instead of parameter * [CXF-3853] - RMTxStore: Vendor specific condition check * [CXF-3855] - Incorrect character escaping by URIParserUtil * [CXF-3860] - CXF sample "restful_dispatch" Readme.txt need to be updated * [CXF-3867] - Fix for CXF-1816 causes startup performance regression * [CXF-3871] - NPE is thrown when ws-addr is configured using policy and ws-addr Action is absent * [CXF-3878] - org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper does not print the WebApplicationException stack trace even when log level is set to FINEST * [CXF-3884] - [JAXB] DynamicClientFactory#setupClasspath does not handle URL encoded file names correctly * [CXF-3897] - Better handling on invalid JAXRS '_type' parameter * [CXF-3900] - InjectionUtils do not handle correctly collections inside query bean * [CXF-3925] - WebFaultOutInterceptor expects the Fault. * [CXF-3934] - JaxWsClientProxy clears stacktrace of custom exception * [CXF-3938] - JAX-RS Contexts are not available to MessageBodyReader and MessageBodyWriter providers at the selection stage * [CXF-3939] - UriInfo returns the list of matched uris and resources in the wrong order * [CXF-3948] - CXF 2.3.x does not configure the Future TTL value for Timestamp processing * [CXF-3956] - JAX-WS HandlerResolver consulted for ServiceImpl.createPort, but not for createDispatch * [CXF-3961] - SoapTransportFactory: confused exception by unknown transport protocol * [CXF-3966] - When client sends invalid XML, JAX-RS returns 500 instead of 4xx ** Improvement * [CXF-3380] - JAX-RS: Support writing to DataSources * [CXF-3849] - JAXBElementProvider prints Exception on System.err * [CXF-3858] - It will be helpful to add the cause exception message, when throw the fault from XMLStreamDataReader and XMLStreamDataWriter * [CXF-3863] - Warning info since build service from wsdl of JaxWsServiceFactoryBean once I located the wsdl location * [CXF-3872] - Confusing error message "Problem writing SAAJ model to stream" in case if service not avalable (patch) * [CXF-3879] - Add the ability to enforce a maximum attachment size * [CXF-3887] - wsdl2java only shows first error from JAXB/xjc * [CXF-3921] - Making RMTxStore's table exists error state/code configurable * [CXF-3965] - Enhancement of the exception message when configuring the schema location in the jaxws endpoint.