org.opensaml.saml2.binding.decoding
Class HTTPSOAP11Decoder

java.lang.Object
  extended by org.opensaml.ws.message.decoder.BaseMessageDecoder
      extended by org.opensaml.common.binding.decoding.BaseSAMLMessageDecoder
          extended by org.opensaml.saml2.binding.decoding.BaseSAML2MessageDecoder
              extended by org.opensaml.saml2.binding.decoding.HTTPSOAP11Decoder
All Implemented Interfaces:
SAMLMessageDecoder, MessageDecoder
Direct Known Subclasses:
HandlerChainAwareHTTPSOAP11Decoder

public class HTTPSOAP11Decoder
extends BaseSAML2MessageDecoder

SAML 2.0 SOAP 1.1 over HTTP binding decoder.


Field Summary
private  org.slf4j.Logger log
          Class logger.
private  QName soapMustUnderstand
          QName of SOAP mustUnderstand header attribute.
private  List<QName> understoodHeaders
          QNames of understood SOAP headers.
 
Constructor Summary
HTTPSOAP11Decoder()
          Constructor.
HTTPSOAP11Decoder(ParserPool pool)
          Constructor.
 
Method Summary
protected  void checkUnderstoodSOAPHeaders(List<XMLObject> headers)
          Checks that, if any SOAP headers, require understand that they are in the understood header list.
protected  void doDecode(MessageContext messageContext)
          
 String getBindingURI()
          Gets the SAML binding URI supported by this decoder.
 List<QName> getUnderstoodHeaders()
          Gets the SOAP header names that are understood by the application.
protected  boolean isIntendedDestinationEndpointURIRequired(SAMLMessageContext samlMsgCtx)
          Determine whether the binding implemented by the decoder requires the presence within the message of information indicating the intended message destination endpoint URI.
 void setUnderstoodHeaders(List<QName> headerNames)
          Sets the SOAP header names that are understood by the application.
 
Methods inherited from class org.opensaml.saml2.binding.decoding.BaseSAML2MessageDecoder
decode, extractEntityId, extractRequestInfo, extractResponseInfo, getIntendedDestinationEndpointURI, populateMessageContext, populateMessageIdIssueInstantIssuer, populateRelyingPartyMetadata
 
Methods inherited from class org.opensaml.common.binding.decoding.BaseSAMLMessageDecoder
checkEndpointURI, compareEndpointURIs, getActualReceiverEndpointURI, getURIComparator, isMessageSigned, setURIComparator
 
Methods inherited from class org.opensaml.ws.message.decoder.BaseMessageDecoder
getParserPool, logDecodedMessage, processSecurityPolicy, setParserPool, unmarshallMessage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private final org.slf4j.Logger log
Class logger.


understoodHeaders

private List<QName> understoodHeaders
QNames of understood SOAP headers.


soapMustUnderstand

private final QName soapMustUnderstand
QName of SOAP mustUnderstand header attribute.

Constructor Detail

HTTPSOAP11Decoder

public HTTPSOAP11Decoder()
Constructor.


HTTPSOAP11Decoder

public HTTPSOAP11Decoder(ParserPool pool)
Constructor.

Parameters:
pool - parser pool used to deserialize messages
Method Detail

getBindingURI

public String getBindingURI()
Gets the SAML binding URI supported by this decoder.

Returns:
SAML binding URI supported by this decoder

isIntendedDestinationEndpointURIRequired

protected boolean isIntendedDestinationEndpointURIRequired(SAMLMessageContext samlMsgCtx)
Determine whether the binding implemented by the decoder requires the presence within the message of information indicating the intended message destination endpoint URI.

Specified by:
isIntendedDestinationEndpointURIRequired in class BaseSAMLMessageDecoder
Parameters:
samlMsgCtx - current SAML message context
Returns:
true if the intended message destination endpoint is required, false if not

getUnderstoodHeaders

public List<QName> getUnderstoodHeaders()
Gets the SOAP header names that are understood by the application.

Returns:
SOAP header names that are understood by the application

setUnderstoodHeaders

public void setUnderstoodHeaders(List<QName> headerNames)
Sets the SOAP header names that are understood by the application.

Parameters:
headerNames - SOAP header names that are understood by the application

doDecode

protected void doDecode(MessageContext messageContext)
                 throws MessageDecodingException

Specified by:
doDecode in class BaseMessageDecoder
Throws:
MessageDecodingException

checkUnderstoodSOAPHeaders

protected void checkUnderstoodSOAPHeaders(List<XMLObject> headers)
                                   throws MessageDecodingException
Checks that, if any SOAP headers, require understand that they are in the understood header list.

Parameters:
headers - SOAP headers to check
Throws:
MessageDecodingException - thrown if a SOAP header requires understanding but is not understood by the decoder


Copyright © 1999-2012. All Rights Reserved.