Apache CXF 2.1.5 Release Notes 1. Overview Apache CXF 2.1.5 delivers the latest set of patches and bug fixes for Apache CXF. This release fixes 87 JIRA issues that have been reported by users. 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. 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. JAX-RS/JSR-311 2.1.2 upgrades the JAX-RS/JSR-311 support level to 0.8 from 0.6. This may cause existing JAX-RS applications to fail. JAX-RS/JSR-311 is a work in progress and as the specification changes, we'll be updating the implementation to keep track with the specification. 7. Specific issues, features, and improvements fixed in this version ** Sub-task * [CXF-2110] - Missing parameterOrder attribute in java2wsdl generated RPC wsdls * [CXF-2112] - Missing element in generated WSDL definition * [CXF-2114] - java2ws generates invalid import statement when using member classes * [CXF-2129] - Provider endpoint causes NPE in AbstractPolicyInterceptor * [CXF-2138] - Missing parameterOrder attribute in java2wsdl generated Doc/Lit wsdls * [CXF-2147] - wsdl2java does not generate @XmlList with doc/lit wsdl * [CXF-2148] - wsdl2java does not generate @XmlJavaTypeAdapter in SEI ** Bug * [CXF-973] - WebFault(faultBean="...") not used * [CXF-1766] - handler chain wildcard matching does not quite work * [CXF-1858] - JAXRSOutInterceptor throws NullPointerException for unknown requests when using exception mapper * [CXF-1884] - ExceptionMapper is not called due to a NullPointerException at JAXRSOutInterceptor * [CXF-1950] - wsdl2java omits @WebParam's header=true where element is missing. * [CXF-1999] - HTTP conduit configuration is not loaded when not using Spring * [CXF-2025] - Null Pointer Exception in AbstractInvoker.createFault() * [CXF-2030] - JMS transport is not usable with IBM MQI interface endpoints * [CXF-2031] - CacheControlHeaderProvider produces invalid no-cache headers * [CXF-2033] - StaxUtils assumes DOM Node::appendChild(c) returns the passed-in child * [CXF-2034] - JMS client transport (JMSConduit) does not tear down its reply awaiting listener on Bus shutdown * [CXF-2037] - SoapFault subcode not outputted correctly in Soap12FaultOutInterceptor * [CXF-2038] - changes for signaturePropFile and decryptionPropFile of WSS4JInteceptor can't be reloaded if we use cxf in container * [CXF-2040] - One way operations return response after impl is invoked... * [CXF-2043] - CXF failed to deal with attachment if client sends in attachment with "Multipart/Related" instead of "multipart/related" as Content-type * [CXF-2044] - Aegis Custom Type Mapping * [CXF-2045] - Custom headers lost when using Cxf Interceptors * [CXF-2049] - Temporary files are not deleted under windows * [CXF-2050] - MimeBodyPartInputStream never finishes reading certain streams * [CXF-2051] - Exception in REST Service creates not-well-formed xml responses * [CXF-2054] - wsdl2java NPE on Async WSDL * [CXF-2058] - org.apache.cxf.jaxrs.provider.AbstractJAXBProvider.getPackageContext erroneously returns null value * [CXF-2059] - org.apache.cxf.interceptor.Fault: No such operation * [CXF-2062] - MTOM content-type header missing required "type" parameter * [CXF-2071] - Missing import on 'com.sun.xml.bind.api' for cxf-bundle * [CXF-2072] - Persistant HTTPS connections appear to be disabled. * [CXF-2074] - 2.1.4 now throws "No DestinationFactory was found for the namespace http://schemas.xmlsoap.org/soap/http" * [CXF-2075] - Error in spring config file reported as a missing config file during initialization of BusApplicationContext * [CXF-2077] - When using wsdl2java with the -db xmlbeans flag, the generated build.xml doesn't work OOTB * [CXF-2080] - Default value is not assigned to HeaderParam * [CXF-2082] - client using decoupled ws-addressing with async handler hang from time to time * [CXF-2084] - AbstractMessageResponseTimeInterceptor has protected methods, but default (package) scope constructor * [CXF-2087] - CXFServlet / URIResolver tries to load file "" (empty file name) * [CXF-2088] - Wrong serialisation order of elements when using Aegis databinding. * [CXF-2095] - wsdl2java -db xmlbeans can't generate right wrapped class * [CXF-2097] - If wrapped style is used and multiple message parts are generated (because, for example, a soap header parameter is declared), the generated wsdl does not interop with RI or CXF client. * [CXF-2100] - Digest auth is broken * [CXF-2101] - Cannot add headers to request from Dispatch client in async mode -- ThreadLocal issue * [CXF-2103] - Some attributes marshalled through JAXBSource have wrong names * [CXF-2104] - Caller application hangs in case it uses the polling (Response) method with JAX-WS async mapping and an http error occurs during sending. In case of callback style (AsyncHandler), the client application has no way of getting the exception. * [CXF-2105] - The CxfBusLifeCycleManager can cause ConcurrentModificationExceptions to be thrown * [CXF-2106] - Temp files created for data over 64kb are never deleted * [CXF-2108] - idl2wsdl NullPointerException at typedef with sequence of (named) fixed array * [CXF-2109] - samples\corba\bank_ws_addressing does not compile * [CXF-2115] - refactor JBIConduitOutputStream exception handle * [CXF-2117] - method AnnotationHandlerChainBuilder.patternMatches() causes CXF portability issues with other JAX-WS stacks * [CXF-2119] - wsdl2java failes with NPE with void Async Methods * [CXF-2122] - NPE in AbstractJAXWSMethodInvoker * [CXF-2124] - DynamicClientFactory.createClient API would throw an exception with source path instead of classes path when classes.mkdir() call fails * [CXF-2128] - wsdl2js gives NullPointerException on http://lcorp.ulif.org.ua/ILib5/Service.svc?wsdl * [CXF-2132] - @Oneway doesn't work with simple/bare element types * [CXF-2139] - Deserializer for complex types is not created inside the generated JavaScript client code * [CXF-2143] - Timezone problems with special dates (e.g. birthdays) * [CXF-2145] - Proxy in JCA connector throws exception due to concurrency issues * [CXF-2149] - java.lang.ArrayStoreException getting headers in handler * [CXF-2152] - Certain Spring AOP proxies cannot be used any more as service bean since CXF 2.1.4 because the real (non-proxy) target class is not found correctly by SpringAopClassHelper * [CXF-2160] - LoggingOutInterceptor logs message twice * [CXF-2161] - WSA handler class MAPCodec is not decoding From header * [CXF-2163] - org.apache.cxf.resource.URIResolver on Websphere 6.1 doesn't resolve from "wsjar:" base URI's * [CXF-2170] - Aegis logging inconsistent.... * [CXF-2172] - RPC/Lit types with both XmlType and XmlRootElement are ending up as element parts, not type parts * [CXF-2175] - DynamicClientFactory.setupClasspath throws a null pointer exception if URI contains undefined path. * [CXF-2180] - ProxyHelper requires cglib even if interface is used as client service class ** Improvement * [CXF-1549] - Let TLSClientParameters take an SSLSocketFactory * [CXF-1650] - Allow JAX-RS Resources, without XmlRootElement JAXB annotation * [CXF-2042] - Expose totalHandlingTime attribute in ResponseTimeCounterMBean to offer trendsup monitoring * [CXF-2063] - should set catalogManager debug level a bit ealier * [CXF-2081] - Allow specifying a Java heap size when wsdl2java -compile invokes Java compiler * [CXF-2086] - CFX does not log caught RuntimeException * [CXF-2099] - support XMLSchema Vaildation in XMLBeans DataBinding * [CXF-2116] - Refactoring of the WrapperHelper * [CXF-2140] - Allow injection of an existing MBeanServer into the InstrumentationManagerImpl * [CXF-2141] - Expose faults count in ResponseTimeCounter in addition to existing invocations count * [CXF-2167] - WS-Addressing handler should not drop messages when the RelatesTo property is explicitly set by client code * [CXF-2169] - JBIConduitOutputStream need save JBI MessageExchange in response message for later possible use * [CXF-2177] - add ability to modify log of response before logging in LoggingInInterceptor * [CXF-2181] - Dynamic Dispatch classes should cache MessageFactory instances ** New Feature * [CXF-2069] - provide services list that's easily parseable * [CXF-2174] - WSDLToJava to support generating a list of wsdls all at once ** Test * [CXF-2120] - Add a systest for XMLBeans databinding