Class MAPCodec
- java.lang.Object
-
- org.apache.cxf.phase.AbstractPhaseInterceptor<SoapMessage>
-
- org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor
-
- org.apache.cxf.ws.addressing.soap.MAPCodec
-
- All Implemented Interfaces:
SoapInterceptor,Interceptor<SoapMessage>,PhaseInterceptor<SoapMessage>
public class MAPCodec extends AbstractSoapInterceptor
SOAP 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
-
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(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(Bus bus)Map<String,Exchange>getUncorrelatedExchanges()Set<QName>getUnderstoodHeaders()voidhandleFault(SoapMessage message)Invoked when unwinding normal interceptor chain when a fault occurred.voidhandleMessage(SoapMessage message)Invoked for normal processing of inbound and outbound messages.protected voidsetHeaderFactory(MAPCodec.HeaderFactory factory)AddressingPropertiesunmarshalMAPs(SoapMessage message)Decode the MAPs from protocol-specific headers.-
Methods inherited from class org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor
getFaultCodePrefix, getRoles, prepareStackTrace
-
Methods inherited from class org.apache.cxf.phase.AbstractPhaseInterceptor
addAfter, addAfter, addBefore, addBefore, getAdditionalInterceptors, getAfter, getBefore, getId, getPhase, isGET, isRequestor, setAfter, setBefore
-
-
-
-
Method Detail
-
getUnderstoodHeaders
public Set<QName> getUnderstoodHeaders()
- Specified by:
getUnderstoodHeadersin interfaceSoapInterceptor- Overrides:
getUnderstoodHeadersin classAbstractSoapInterceptor- Returns:
- the set of SOAP headers understood by this handler
-
handleMessage
public void handleMessage(SoapMessage message)
Invoked for normal processing of inbound and outbound messages.- Parameters:
message- the messsage
-
handleFault
public void handleFault(SoapMessage message)
Invoked when unwinding normal interceptor chain when a fault occurred.- Specified by:
handleFaultin interfaceInterceptor<SoapMessage>- Overrides:
handleFaultin classAbstractPhaseInterceptor<SoapMessage>- Parameters:
message- the messsage message
-
unmarshalMAPs
public AddressingProperties unmarshalMAPs(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(SoapMessage message, T value, QName qname, Class<T> clz, javax.xml.bind.JAXBContext ctx, boolean mustUnderstand) throws javax.xml.bind.JAXBException
Encodes 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)
-
-