Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Fix minor spelling errors

...

  • Spring 3.2 or newer is required.   The calls to the API's that were deprecated in Spring 3.x have been removed.  This allows CXF 3.0 to work with Spring 4, but means it can no longer with work with Spring 2.5.

CXF Module/Jar Changes

...

  • CXFBusImpl has been removed. The only subclass was the ExtensionMangerBus ExtensionManagerBus (SpringBus and Blueprint/osgi stuff subclassed that) so the functionality was pushed up into ExtensionMangerBusExtensionManagerBus. Some of the "common" methods were put directly on the Bus interface to make using the Bus cleaner (no casts to the impl).
  • The unused "run()" method on Bus was removed.
  • Merge BaseDataReader/DataReader and the same for the writer, getting rid of the "Base" versions that are unreferenced.
  • The 2 unused params on Destination.getBackChannel were removed. They were unused and normally passed in as null.
  • Remove QueryHandlers -> these were originally used for the ?wsdl processing (and is still used for ?js). However, that stuff is better done directly on the interceptor chains as interceptors to allow user supplied interceptors to also handle them. I'd like to just remove these. (obviously update the ?js stuff) Would simplify the CXFServlet a bit.
  • Removed all the /META-INF/cxf/cxf-extension-XYZ.xml files. They have been deprecated an and not needed for a long time.
  • Updated ConduitInitiator and DestinationFactory to pass Bus as parameter to the various methods.
  • Removed support for the old bus-extensions.xml file (in favor of the current and much faster bus-extensions.txt)
  • Move ALL XML parsing and writing to StaxUtils and DOM based utilities to DOMUtils. The XMLUtils class that used SAX based parsing and Transformer based writing has been eliminated. This simplifies the code as well as increases security as we can provide better limits and have more control with the StAX based IO.
  • AddressingProperties has been turned from an interface to a concrete class that can be created directly with "new". AddressingPropertiesImpl has been removed.
  • Many of our interfaces/classes that held onto constants were either removed or moved. In particular XmlSchemaConstants was removed (use the Constants from the XmlSchema library directly), WSDLConstants was moved from api to rt-wsdl, SOAPConstants was removed (most are available in WSDLConstants). Goal is to reduce some memory usage and help startup time and reduce a lot of duplication.
  • AlternativeSelector and the PolicyEngine and other PolicyRelated classes have been updated to pass the current Message in (when appropriate) to allow using message contextual information to select the alternative. HOWEVER, keep in mind that the selected alternative is likely cached and thus if contextual information changes, the alternatively alternative may not be recalculated.
  • FailoverTargetSelector will not activate the fail-over in cases when HTTP client errors are returned, only HTTP 404 and 503 statuses will be recognized. Set FailoverTargetSelector supportNotAvailableErrorsOnly property to false if the support for all HTTP errors is required.
  • ServletController will not override the endpoint addresses by default as it has side-effects when a given endpoint is accessed via multiple paths. Set CXFServlet "disable-address-updates" parameter to 'false' if required.
  • The long since deprecated org.apache.cxf.frontend.MethodDispatcher has been removed.  (It was replaced with org.apache.cxf.service.invoker.MethodDispatcher in 2.6)
  • The deprecated JAXBToStringBuilder and JAXBToStringStyle classes that were in cxf-rt-databindinddatabinding-jaxb have been removed.  The functionality has been provided by cxf-xjc-runtime for a while now.
  • The deprecated URIMappingInterceptor has been removed.  This hasn't been on the default chain for some time due to a bunch of security related issues.
  • SchemaValidation annotation has had its deprecated "enabled" property removed. Please use its "type" property to control the validation.
  • The "Spring" type was removed from the FactoryType annotation.  Instead, use factoryClass=SpringBeanFactory.class.