4.3. API Changes
HTTPConduit class
The
HTTPConduit
class has been made abstract
and the code relating to HttpURLConnection
has been moved to URLConnectionHTTPConduit
. Several method calls of the HTTPConduit
class that used to take HttpURLConnection
objects have been eliminated. Moreover, most methods taking a URL object now take a URI object instead. The HTTPConduit.WrappedOutputStream
class is also now abstract
.
If you have implemented custom subclasses of
HTTPConduit
, it is probably necessary to refactor them as a subclass URLConnectionHTTPConduit
, instead of HTTPConduit
.
VersionTransformer and MAPCodec classes
The
VersionTransformer
and MAPCodec
classes (used for WS-Addressing) now use the header list on the SoapMessage
directly, instead of encoding the WS-Addressing headers as DOM elements. The encode
methods have therefore been changed to take a JAXBContext
argument, instead of a Marshaller
argument. Any custom VersionTransformers
will need to be updated.
AbstractFeatures as return value or parameter
All methods with an argumnet or return value of type,
org.apache.cxf.feature.AbstractFeatures
, have been changed to use org.apache.cxf.feature.Feature
instead.
Removed classes
The following classes have been removed from the JAX-RS library:
org.apache.cxf.jaxrs.client.ResponseReader org.apache.cxf.jaxrs.client.ServerWebApplicationException org.apache.cxf.jaxrs.client.ClientWebApplicationException
The first class in the list is not needed with the JAX-RS 2.0
Response
class, while the last two classes are replaced by the classes, javax.ws.rs.WebApplicationException
and javax.ws.rs.client.ClientException
.
Security Token Service (STS) API
The STS Claims object now takes a
List<String>
argument for the claims values, instead of a single String
value.
Deprecated APIs
The following CXF JAX-RS specific extensions have been deprecated and will eventually be removed:
- org.apache.cxf.jaxrs.ext.ParamHandler
- Use the
javax.ws.rs.ext.ParamConverterProvider
andjavax.ws.rs.ext.ParamConverter
classes instead. - org.apache.cxf.jaxrs.ext.RequestHandler
- Use the
javax.ws.rs.container.ContainerRequestFilter
class instead. - org.apache.cxf.jaxrs.ext.ResponseHandler
- Use
javax.ws.rs.container.ContainerResponseFilter
instead.