Class MAPCodec
- java.lang.Object
-
- org.apache.cxf.phase.AbstractPhaseInterceptor<org.apache.cxf.binding.soap.SoapMessage>
-
- org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor
-
- org.apache.cxf.ws.addressing.soap.MAPCodec
-
- All Implemented Interfaces:
org.apache.cxf.binding.soap.interceptor.SoapInterceptor,org.apache.cxf.interceptor.Interceptor<org.apache.cxf.binding.soap.SoapMessage>,org.apache.cxf.phase.PhaseInterceptor<org.apache.cxf.binding.soap.SoapMessage>
public class MAPCodec extends org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptorSOAP interceptor responsible for {en|de}coding the Message Addressing Properties for {outgo|incom}ing messages.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceMAPCodec.HeaderFactory
-
Field Summary
Fields Modifier and Type Field Description static MAPCodecINSTANCEprotected Map<String,org.apache.cxf.message.Exchange>uncorrelatedExchangesREVISIT: map usage that the *same* interceptor instance is used in all chains.
-
Constructor Summary
Constructors Constructor Description MAPCodec()Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> TdecodeAsNative(String encodedAs, Class<T> clz, Element headerElement, javax.xml.bind.Unmarshaller unmarshaller)Decodes a MAP from a exposed version.protected <T> TdecodeMAP(Class<T> clz, Element headerElement, javax.xml.bind.Unmarshaller unmarshaller)Decodes a MAP from a SOAP header.protected <T> voidencodeMAP(org.apache.cxf.binding.soap.SoapMessage message, T value, QName qname, Class<T> clz, javax.xml.bind.JAXBContext ctx, boolean mustUnderstand)Encodes an MAP as a SOAP header.protected MAPCodec.HeaderFactorygetHeaderFactory()static MAPCodecgetInstance(org.apache.cxf.Bus bus)Map<String,org.apache.cxf.message.Exchange>getUncorrelatedExchanges()Set<QName>getUnderstoodHeaders()voidhandleFault(org.apache.cxf.binding.soap.SoapMessage message)Invoked when unwinding normal interceptor chain when a fault occurred.voidhandleMessage(org.apache.cxf.binding.soap.SoapMessage message)Invoked for normal processing of inbound and outbound messages.protected voidsetHeaderFactory(MAPCodec.HeaderFactory factory)org.apache.cxf.ws.addressing.AddressingPropertiesunmarshalMAPs(org.apache.cxf.binding.soap.SoapMessage message)Decode the MAPs from protocol-specific headers.-
Methods inherited from class org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor
getFaultCodePrefix, getRoles, prepareStackTrace
-
-
-
-
Method Detail
-
getInstance
public static MAPCodec getInstance(org.apache.cxf.Bus bus)
-
getUncorrelatedExchanges
public Map<String,org.apache.cxf.message.Exchange> getUncorrelatedExchanges()
-
getUnderstoodHeaders
public Set<QName> getUnderstoodHeaders()
- Specified by:
getUnderstoodHeadersin interfaceorg.apache.cxf.binding.soap.interceptor.SoapInterceptor- Overrides:
getUnderstoodHeadersin classorg.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor- Returns:
- the set of SOAP headers understood by this handler
-
handleMessage
public void handleMessage(org.apache.cxf.binding.soap.SoapMessage message)
Invoked for normal processing of inbound and outbound messages.- Parameters:
message- the messsage
-
handleFault
public void handleFault(org.apache.cxf.binding.soap.SoapMessage message)
Invoked when unwinding normal interceptor chain when a fault occurred.- Specified by:
handleFaultin interfaceorg.apache.cxf.interceptor.Interceptor<org.apache.cxf.binding.soap.SoapMessage>- Overrides:
handleFaultin classorg.apache.cxf.phase.AbstractPhaseInterceptor<org.apache.cxf.binding.soap.SoapMessage>- Parameters:
message- the messsage message
-
unmarshalMAPs
public org.apache.cxf.ws.addressing.AddressingProperties unmarshalMAPs(org.apache.cxf.binding.soap.SoapMessage message)
Decode the MAPs from protocol-specific headers.- Parameters:
message- the SOAP message- Returns:
- the decoded MAPs
- Throws:
SOAPFaultException- if decoded MAPs are invalid
-
decodeAsNative
public <T> T decodeAsNative(String encodedAs, Class<T> clz, Element headerElement, javax.xml.bind.Unmarshaller unmarshaller) throws javax.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:
javax.xml.bind.JAXBException
-
encodeMAP
protected <T> void encodeMAP(org.apache.cxf.binding.soap.SoapMessage message, T value, QName qname, Class<T> clz, javax.xml.bind.JAXBContext ctx, boolean mustUnderstand) throws javax.xml.bind.JAXBExceptionEncodes an MAP as a SOAP header.- Parameters:
message- the message to store the headers onvalue- the value to encodeqname- the QName for the headerclz- the classctx- the JAXBContentmustUnderstand-- Throws:
javax.xml.bind.JAXBException
-
decodeMAP
protected <T> T decodeMAP(Class<T> clz, Element headerElement, javax.xml.bind.Unmarshaller unmarshaller) throws javax.xml.bind.JAXBException
Decodes a MAP from a SOAP header.- Parameters:
clz- the classheaderElement- the SOAP header elementunmarshaller- the JAXB unmarshaller to use- Returns:
- the decoded value
- Throws:
javax.xml.bind.JAXBException
-
getHeaderFactory
protected MAPCodec.HeaderFactory getHeaderFactory()
-
setHeaderFactory
protected void setHeaderFactory(MAPCodec.HeaderFactory factory)
-
-