Class VersionTransformer
java.lang.Object
org.apache.cxf.ws.addressing.VersionTransformer
org.apache.cxf.ws.addressing.soap.VersionTransformer
public class VersionTransformer
extends org.apache.cxf.ws.addressing.VersionTransformer
This class is responsible for transforming between the native WS-Addressing schema version (i.e. 2005/08)
and exposed version (currently may be 2005/08 or 2004/08).
The native version is that used throughout the stack, were the WS-A types are represented via the JAXB generated types for the 2005/08 schema.
The exposed version is that used when the WS-A types are externalized, i.e. are encoded in the headers of outgoing messages. For outgoing requests, the exposed version is determined from configuration. For outgoing responses, the exposed version is determined by the exposed version of the corresponding request.
The motivation for using different native and exposed types is usually to facilitate a WS-* standard based on an earlier version of WS-Adressing (for example WS-RM depends on the 2004/08 version).
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.cxf.ws.addressing.VersionTransformer
org.apache.cxf.ws.addressing.VersionTransformer.Names200403, org.apache.cxf.ws.addressing.VersionTransformer.Names200408 -
Field Summary
FieldsFields inherited from class org.apache.cxf.ws.addressing.VersionTransformer
NATIVE_VERSION -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> TdecodeAsNative(String encodedAs, Class<T> clz, Element headerElement, jakarta.xml.bind.Unmarshaller unmarshaller) Decodes a MAP from a exposed version.<T> voidencodeAsExposed(org.apache.cxf.binding.soap.SoapMessage message, String exposeAs, T value, String localName, Class<T> clz, jakarta.xml.bind.JAXBContext marshaller, boolean mustUnderstand) Encode message in exposed version.Methods inherited from class org.apache.cxf.ws.addressing.VersionTransformer
convert, convert, convert, convert, convert, convert, convert, convert, convert, convert, convert, convertTo200403, convertTo200403, convertTo200403, convertToNative, getExposedJAXBContext, getExposedReferenceType, isSupported, parseEndpointReference
-
Field Details
-
HEADERS
-
codec
-
-
Constructor Details
-
VersionTransformer
Constructor.- Parameters:
mapCodec- the MAPCodec to use
-
-
Method Details
-
encodeAsExposed
public <T> void encodeAsExposed(org.apache.cxf.binding.soap.SoapMessage message, String exposeAs, T value, String localName, Class<T> clz, jakarta.xml.bind.JAXBContext marshaller, boolean mustUnderstand) throws jakarta.xml.bind.JAXBException Encode message in exposed version.- Parameters:
message- The message to be encodedexposeAs- specifies the WS-Addressing version to exposevalue- the value to encodelocalName- the localName for the headerclz- the classmarshaller- the JAXB context to usemustUnderstand- whether mustUnderstand is true- Throws:
jakarta.xml.bind.JAXBException
-
decodeAsNative
public <T> T decodeAsNative(String encodedAs, Class<T> clz, Element headerElement, jakarta.xml.bind.Unmarshaller unmarshaller) throws jakarta.xml.bind.JAXBException Decodes a MAP from a exposed version.- Parameters:
encodedAs- specifies the encoded versionclz- the classheaderElement- the SOAP header elementunmarshaller- the JAXB unmarshaller to use- Returns:
- the decoded value
- Throws:
jakarta.xml.bind.JAXBException
-