Class LibertyHTTPSOAP11Encoder
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.messaging.encoder.AbstractMessageEncoder
-
- org.opensaml.messaging.encoder.servlet.AbstractHttpServletResponseMessageEncoder
-
- org.opensaml.messaging.encoder.servlet.BaseHttpServletResponseXMLMessageEncoder
-
- net.shibboleth.idp.saml.saml2.profile.delegation.messaging.impl.LibertyHTTPSOAP11Encoder
-
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,UnmodifiableComponent,MessageEncoder,HttpServletResponseMessageEncoder,SAMLMessageEncoder
public class LibertyHTTPSOAP11Encoder extends BaseHttpServletResponseXMLMessageEncoder implements SAMLMessageEncoder
Encoder for Liberty ID-WSF 2.0 SOAP 1.1 HTTP binding carrying SAML protocol messages used in SAML delegation.
-
-
Field Summary
Fields Modifier and Type Field Description private SOAPObjectBuilder<Body>bodyBuilderSOAP Body builder.private SOAPObjectBuilder<Envelope>envBuilderSOAP Envelope builder.private org.slf4j.LoggerlogClass logger.
-
Constructor Summary
Constructors Constructor Description LibertyHTTPSOAP11Encoder()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidbuildAndStoreSOAPMessage(XMLObject payload)Builds the SOAP message to be encoded.protected voiddoEncode()StringgetBindingURI()protected intgetHTTPResponseStatusCode()Get the HTTP response status code to return.protected XMLObjectgetMessageToLog()protected StringgetSOAPAction()Determine the value of the SOAPAction HTTP header to send.protected EnvelopegetSOAPEnvelope()Retrieve the previously stored SOAP envelope from the message context.voidprepareContext()protected voidprepareHttpServletResponse()This implementation performs the following actions on the context'sHttpServletResponse:protected voidstoreSOAPEnvelope(Envelope envelope)Store the constructed SOAP envelope in the message context for later encoding.-
Methods inherited from class org.opensaml.messaging.encoder.servlet.BaseHttpServletResponseXMLMessageEncoder
encode, logEncodedMessage, marshallMessage
-
Methods inherited from class org.opensaml.messaging.encoder.servlet.AbstractHttpServletResponseMessageEncoder
doDestroy, doInitialize, getHttpServletResponse, setHttpServletResponse
-
Methods inherited from class org.opensaml.messaging.encoder.AbstractMessageEncoder
getMessageContext, setMessageContext
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, initialize, isDestroyed, isInitialized
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.DestructableComponent
destroy, isDestroyed
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
Methods inherited from interface org.opensaml.messaging.encoder.MessageEncoder
encode, setMessageContext
-
-
-
-
Field Detail
-
log
private final org.slf4j.Logger log
Class logger.
-
envBuilder
private SOAPObjectBuilder<Envelope> envBuilder
SOAP Envelope builder.
-
bodyBuilder
private SOAPObjectBuilder<Body> bodyBuilder
SOAP Body builder.
-
-
Method Detail
-
getBindingURI
public String getBindingURI()
- Specified by:
getBindingURIin interfaceSAMLMessageEncoder
-
prepareContext
public void prepareContext() throws MessageEncodingException- Specified by:
prepareContextin interfaceMessageEncoder- Overrides:
prepareContextin classAbstractMessageEncoder- Throws:
MessageEncodingException
-
doEncode
protected void doEncode() throws MessageEncodingException- Specified by:
doEncodein classAbstractMessageEncoder- Throws:
MessageEncodingException
-
storeSOAPEnvelope
protected void storeSOAPEnvelope(Envelope envelope)
Store the constructed SOAP envelope in the message context for later encoding.- Parameters:
envelope- the SOAP envelope
-
getSOAPEnvelope
protected Envelope getSOAPEnvelope()
Retrieve the previously stored SOAP envelope from the message context.- Returns:
- the previously stored SOAP envelope
-
buildAndStoreSOAPMessage
protected void buildAndStoreSOAPMessage(@Nonnull XMLObject payload)Builds the SOAP message to be encoded.- Parameters:
payload- body of the SOAP message
-
prepareHttpServletResponse
protected void prepareHttpServletResponse() throws MessageEncodingExceptionThis implementation performs the following actions on the context's
HttpServletResponse:- Adds the HTTP header: "Cache-control: no-cache, no-store"
- Adds the HTTP header: "Pragma: no-cache"
- Sets the character encoding to: "UTF-8"
- Sets the content type to: "text/xml"
- Sets the SOAPAction HTTP header the value returned by
getSOAPAction(), if that returns non-null.
Subclasses should NOT set the SOAPAction HTTP header in this method. Instead, they should override the method
getSOAPAction().- Throws:
MessageEncodingException- thrown if there is a problem preprocessing the transport
-
getSOAPAction
protected String getSOAPAction()
Determine the value of the SOAPAction HTTP header to send.The default behavior is to return the value of the SOAP Envelope's WS-Addressing Action header, if present.
- Returns:
- a SOAPAction HTTP header URI value
-
getHTTPResponseStatusCode
protected int getHTTPResponseStatusCode()
Get the HTTP response status code to return.- Returns:
- the HTTP response status code
-
getMessageToLog
protected XMLObject getMessageToLog()
- Overrides:
getMessageToLogin classBaseHttpServletResponseXMLMessageEncoder
-
-