Package org.apache.cxf.ws.addressing
Class VersionTransformer
java.lang.Object
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
Modifier and TypeClassDescriptionstatic class
Holder for 2004/03 Namesstatic class
Holder for 2004/08 Names -
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic org.apache.cxf.ws.addressing.v200408.AttributedURI
convert
(org.apache.cxf.ws.addressing.AttributedURIType internal) Convert from 2005/08 AttributedURI to 2004/08 AttributedURI.static org.apache.cxf.ws.addressing.v200408.EndpointReferenceType
convert
(org.apache.cxf.ws.addressing.EndpointReferenceType internal) Convert from 2005/08 EndpointReferenceType to 2004/08 EndpointReferenceType.static org.apache.cxf.ws.addressing.v200408.ReferenceParametersType
convert
(org.apache.cxf.ws.addressing.ReferenceParametersType internal) Convert from 2005/08 ReferenceParametersType to 2004/08 ReferenceParametersType.static org.apache.cxf.ws.addressing.v200408.Relationship
convert
(org.apache.cxf.ws.addressing.RelatesToType internal) Convert from 2005/08 RelatesToType to 2004/08 Relationship.static org.apache.cxf.ws.addressing.AttributedURIType
convert
(org.apache.cxf.ws.addressing.v200403.AttributedURI exposed) Convert from 2004/03 AttributedURI to 2005/08 AttributedURI.static org.apache.cxf.ws.addressing.EndpointReferenceType
convert
(org.apache.cxf.ws.addressing.v200403.EndpointReferenceType exposed) Convert from 2004/03 EndpointReferenceType to 2005/08 EndpointReferenceType.static org.apache.cxf.ws.addressing.RelatesToType
convert
(org.apache.cxf.ws.addressing.v200403.Relationship exposed) Convert from 2004/03 Relationship to 2005/08 RelatesToType.static org.apache.cxf.ws.addressing.AttributedURIType
convert
(org.apache.cxf.ws.addressing.v200408.AttributedURI exposed) Convert from 2004/08 AttributedURI to 2005/08 AttributedURI.static org.apache.cxf.ws.addressing.EndpointReferenceType
convert
(org.apache.cxf.ws.addressing.v200408.EndpointReferenceType exposed) Convert from 2004/08 EndpointReferenceType to 2005/08 EndpointReferenceType.static org.apache.cxf.ws.addressing.ReferenceParametersType
convert
(org.apache.cxf.ws.addressing.v200408.ReferenceParametersType exposed) Convert from 2004/08 ReferenceParametersType to 2005/08 ReferenceParametersType.static org.apache.cxf.ws.addressing.RelatesToType
convert
(org.apache.cxf.ws.addressing.v200408.Relationship exposed) Convert from 2004/08 Relationship to 2005/08 RelatesToType.static org.apache.cxf.ws.addressing.v200403.AttributedURI
convertTo200403
(org.apache.cxf.ws.addressing.AttributedURIType internal) Convert from 2005/08 AttributedURI to 2004/03 AttributedURI.static org.apache.cxf.ws.addressing.v200403.EndpointReferenceType
convertTo200403
(org.apache.cxf.ws.addressing.EndpointReferenceType internal) Convert from 2005/08 EndpointReferenceType to 2004/03 EndpointReferenceType.static org.apache.cxf.ws.addressing.v200403.Relationship
convertTo200403
(org.apache.cxf.ws.addressing.RelatesToType internal) Convert from 2005/08 RelatesToType to 2004/03 Relationship.static org.apache.cxf.ws.addressing.EndpointReferenceType
convertToNative
(Object exposed) Converts a version specific EndpointReferenceType to the native version used internally by CXFstatic jakarta.xml.bind.JAXBContext
getExposedJAXBContext
(String exposedURI) static Class<?>
getExposedReferenceType
(String exposedURI) Gets the Class representing the EndpointReferenceType that is used for the specific WS-Addressing versionstatic boolean
isSupported
(String namespace) static org.apache.cxf.ws.addressing.EndpointReferenceType
Parse an EndpointReferenceType from a DOM element.
-
Field Details
-
NATIVE_VERSION
- See Also:
-
-
Constructor Details
-
VersionTransformer
protected VersionTransformer()Constructor.
-
-
Method Details
-
isSupported
- Parameters:
namespace
- a namspace URI to consider- Returns:
- true if th WS-Addressing version specified by the namespace URI is supported
-
convert
public static org.apache.cxf.ws.addressing.v200408.AttributedURI convert(org.apache.cxf.ws.addressing.AttributedURIType internal) Convert from 2005/08 AttributedURI to 2004/08 AttributedURI.- Parameters:
internal
- the 2005/08 AttributedURIType- Returns:
- an equivalent 2004/08 AttributedURI
-
convertTo200403
public static org.apache.cxf.ws.addressing.v200403.AttributedURI convertTo200403(org.apache.cxf.ws.addressing.AttributedURIType internal) Convert from 2005/08 AttributedURI to 2004/03 AttributedURI.- Parameters:
internal
- the 2005/08 AttributedURIType- Returns:
- an equivalent 2004/08 or 2004/03 AttributedURI
-
convert
public static org.apache.cxf.ws.addressing.AttributedURIType convert(org.apache.cxf.ws.addressing.v200408.AttributedURI exposed) Convert from 2004/08 AttributedURI to 2005/08 AttributedURI.- Parameters:
exposed
- the 2004/08 AttributedURI- Returns:
- an equivalent 2005/08 AttributedURIType
-
convert
public static org.apache.cxf.ws.addressing.AttributedURIType convert(org.apache.cxf.ws.addressing.v200403.AttributedURI exposed) Convert from 2004/03 AttributedURI to 2005/08 AttributedURI.- Parameters:
exposed
- the 2004/03 AttributedURI- Returns:
- an equivalent 2005/08 AttributedURIType
-
convert
public static org.apache.cxf.ws.addressing.v200408.EndpointReferenceType convert(org.apache.cxf.ws.addressing.EndpointReferenceType internal) Convert from 2005/08 EndpointReferenceType to 2004/08 EndpointReferenceType.- Parameters:
internal
- the 2005/08 EndpointReferenceType- Returns:
- an equivalent 2004/08 EndpointReferenceType
-
convertTo200403
public static org.apache.cxf.ws.addressing.v200403.EndpointReferenceType convertTo200403(org.apache.cxf.ws.addressing.EndpointReferenceType internal) Convert from 2005/08 EndpointReferenceType to 2004/03 EndpointReferenceType.- Parameters:
internal
- the 2005/08 EndpointReferenceType- Returns:
- an equivalent 2004/03 EndpointReferenceType
-
convert
public static org.apache.cxf.ws.addressing.EndpointReferenceType convert(org.apache.cxf.ws.addressing.v200408.EndpointReferenceType exposed) Convert from 2004/08 EndpointReferenceType to 2005/08 EndpointReferenceType.- Parameters:
exposed
- the 2004/08 EndpointReferenceType- Returns:
- an equivalent 2005/08 EndpointReferenceType
-
convert
public static org.apache.cxf.ws.addressing.EndpointReferenceType convert(org.apache.cxf.ws.addressing.v200403.EndpointReferenceType exposed) Convert from 2004/03 EndpointReferenceType to 2005/08 EndpointReferenceType.- Parameters:
exposed
- the 2004/03 EndpointReferenceType- Returns:
- an equivalent 2005/08 EndpointReferenceType
-
convert
public static org.apache.cxf.ws.addressing.v200408.ReferenceParametersType convert(org.apache.cxf.ws.addressing.ReferenceParametersType internal) Convert from 2005/08 ReferenceParametersType to 2004/08 ReferenceParametersType.- Parameters:
internal
- the 2005/08 ReferenceParametersType- Returns:
- an equivalent 2004/08 ReferenceParametersType
-
convert
public static org.apache.cxf.ws.addressing.ReferenceParametersType convert(org.apache.cxf.ws.addressing.v200408.ReferenceParametersType exposed) Convert from 2004/08 ReferenceParametersType to 2005/08 ReferenceParametersType.- Parameters:
exposed
- the 2004/08 ReferenceParametersType- Returns:
- an equivalent 2005/08 ReferenceParametersType
-
convert
public static org.apache.cxf.ws.addressing.v200408.Relationship convert(org.apache.cxf.ws.addressing.RelatesToType internal) Convert from 2005/08 RelatesToType to 2004/08 Relationship.- Parameters:
internal
- the 2005/08 RelatesToType- Returns:
- an equivalent 2004/08 Relationship
-
convertTo200403
public static org.apache.cxf.ws.addressing.v200403.Relationship convertTo200403(org.apache.cxf.ws.addressing.RelatesToType internal) Convert from 2005/08 RelatesToType to 2004/03 Relationship.- Parameters:
internal
- the 2005/08 RelatesToType- Returns:
- an equivalent 2004/03 Relationship
-
convert
public static org.apache.cxf.ws.addressing.RelatesToType convert(org.apache.cxf.ws.addressing.v200408.Relationship exposed) Convert from 2004/08 Relationship to 2005/08 RelatesToType.- Parameters:
exposed
- the 2004/08 Relationship- Returns:
- an equivalent 2005/08 RelatesToType
-
convert
public static org.apache.cxf.ws.addressing.RelatesToType convert(org.apache.cxf.ws.addressing.v200403.Relationship exposed) Convert from 2004/03 Relationship to 2005/08 RelatesToType.- Parameters:
exposed
- the 2004/03 Relationship- Returns:
- an equivalent 2005/08 RelatesToType
-
parseEndpointReference
public static org.apache.cxf.ws.addressing.EndpointReferenceType parseEndpointReference(Element ref) throws jakarta.xml.bind.JAXBException Parse an EndpointReferenceType from a DOM element. Handles all of the WS-Addressing namespaces currently supported.- Parameters:
ref
-- Throws:
jakarta.xml.bind.JAXBException
-
convertToNative
Converts a version specific EndpointReferenceType to the native version used internally by CXF- Parameters:
exposed
-
-
getExposedReferenceType
Gets the Class representing the EndpointReferenceType that is used for the specific WS-Addressing version- Parameters:
exposedURI
-
-
getExposedJAXBContext
public static jakarta.xml.bind.JAXBContext getExposedJAXBContext(String exposedURI) throws jakarta.xml.bind.JAXBException - Parameters:
exposedURI
- specifies the version WS-Addressing- Returns:
- JABXContext for the exposed namespace URI
- Throws:
jakarta.xml.bind.JAXBException
-