Class HTTPSOAP11Decoder
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.messaging.decoder.AbstractMessageDecoder
org.opensaml.messaging.decoder.servlet.AbstractHttpServletRequestMessageDecoder
org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXMLMessageDecoder
org.opensaml.soap.soap11.decoder.http.impl.HTTPSOAP11Decoder
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,UnmodifiableComponent,MessageDecoder,HttpServletRequestMessageDecoder
- Direct Known Subclasses:
HTTPSOAP11Decoder,HTTPSOAP11Decoder
Basic SOAP 1.1 decoder for HTTP transport.
This decoder takes a mandatory MessageHandler instance which is used to determine
populate the message that is returned as the MessageContext.getMessage().
A SOAP message oriented message exchange style might just populate the Envelope as the message. An application-specific payload-oriented message exchange would handle a specific type of payload structure.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate MessageHandlerMessage handler to use in processing the message body.private final org.slf4j.LoggerClass logger.Valid Content-Type media types.Fields inherited from class org.opensaml.messaging.decoder.AbstractMessageDecoder
BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoDecode()Performs the decoding logic.protected voidGet the configured body handler MessageHandler.protected XMLObjectGet the XMLObject which will be logged as the protocol message.voidsetBodyHandler(MessageHandler newBodyHandler) Set the configured body handler MessageHandler.protected voidvalidateHttpRequest(HttpServletRequest request) Perform optional validation of the inboundHttpServletRequest.Methods inherited from class org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXMLMessageDecoder
decode, getParserPool, serializeMessageForLogging, setParserPool, unmarshallMessageMethods inherited from class org.opensaml.messaging.decoder.servlet.AbstractHttpServletRequestMessageDecoder
getHttpServletRequest, getHttpServletRequestSupplier, setHttpServletRequestSupplierMethods inherited from class org.opensaml.messaging.decoder.AbstractMessageDecoder
getMessageContext, getProtocolMessageLogger, getProtocolMessageLoggerSubCategory, logDecodedMessage, setMessageContext, setProtocolMessageLoggerSubCategoryMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, doDestroy, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitializedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.shared.component.DestructableComponent
destroy, isDestroyedMethods inherited from interface net.shibboleth.shared.component.InitializableComponent
initialize, isInitializedMethods inherited from interface org.opensaml.messaging.decoder.MessageDecoder
getMessageContext
-
Field Details
-
SUPPORTED_MEDIA_TYPES
Valid Content-Type media types. -
log
@Nonnull private final org.slf4j.Logger logClass logger. -
bodyHandler
Message handler to use in processing the message body.
-
-
Constructor Details
-
HTTPSOAP11Decoder
public HTTPSOAP11Decoder()Constructor.
-
-
Method Details
-
getBodyHandler
Get the configured body handler MessageHandler.- Returns:
- Returns the bodyHandler.
-
setBodyHandler
Set the configured body handler MessageHandler.- Parameters:
newBodyHandler- The bodyHandler to set.
-
doDecode
Performs the decoding logic. By the time this is called, this decoder has already been initialized and checked to ensure that it has not been destroyed.- Specified by:
doDecodein classAbstractMessageDecoder- Throws:
MessageDecodingException- thrown if there is a problem decoding the message
-
doInitialize
- Overrides:
doInitializein classBaseHttpServletRequestXMLMessageDecoder- Throws:
ComponentInitializationException
-
getMessageToLog
Get the XMLObject which will be logged as the protocol message.- Overrides:
getMessageToLogin classAbstractMessageDecoder- Returns:
- the XMLObject message considered to be the protocol message for logging purposes
-
validateHttpRequest
protected void validateHttpRequest(@Nonnull HttpServletRequest request) throws MessageDecodingException Perform optional validation of the inboundHttpServletRequest.This method is called before the main
MessageDecoder.decode()logic}.The default behavior is a no-op. Subclasses may override with specific constraints.
- Overrides:
validateHttpRequestin classBaseHttpServletRequestXMLMessageDecoder- Parameters:
request- the HTTP request being validate- Throws:
MessageDecodingException- if request is not considered valid
-