Package net.shibboleth.idp.cas.flow.impl

# Class AbstractOutgoingSamlMessageAction

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.profile.action.AbstractConditionalProfileAction
net.shibboleth.idp.profile.AbstractProfileAction
net.shibboleth.idp.cas.flow.impl.AbstractCASProtocolAction<TicketValidationRequest,TicketValidationResponse>
net.shibboleth.idp.cas.flow.impl.AbstractOutgoingSamlMessageAction

All Implemented Interfaces:
  `Component`, `DestructableComponent`, `InitializableComponent`, `ProfileAction`, `Aware`, `MessageSource`, `MessageSourceAware`, `Action`

Direct Known Subclasses:
  `BuildSamlValidationFailureMessageAction`, `BuildSamlValidationSuccessMessageAction`

public abstract class AbstractOutgoingSamlMessageAction extends AbstractCASProtocolAction<TicketValidationRequest,TicketValidationResponse>
Base class for all actions that build SAML `Response` messages for output.

## Field Summary

Fields
Modifier and Type
Field
Description
`private QName`
`bodyName`
SOAP body needed for old/broken CAS clients.
`private QName`
`envelopeName`
SOAP envelope needed for old/broken CAS clients.
`protected static final String`
`NAMESPACE`
CAS namespace.
`private BindingDescriptor`
`outgoingBinding`
Descriptor for outgoing SOAP binding.

## Constructor Summary

Constructors
Constructor
Description
`AbstractOutgoingSamlMessageAction()`

## Method Summary

Modifier and Type
Method
Description
`protected abstract Response`
`buildSamlResponse(ProfileRequestContext profileRequestContext)`
Build the SAML response.
`protected void`
`doExecute(ProfileRequestContext profileRequestContext)`
`protected void`
`doInitialize()`
`protected static <T extends SAMLObject>
T`
`newSAMLObject(Class<T> type, QName elementName)`
Build the SAML object.
`void`
`setOutgoingBinding(BindingDescriptor descriptor)`
Set the `BindingDescriptor` describing the outbound binding to use.

### Methods inherited from class net.shibboleth.idp.cas.flow.impl.AbstractCASProtocolAction

`getCASRequest, getCASResponse, getCASService, getCASTicket, getProtocolContext, setCASRequest, setCASResponse, setCASService, setCASTicket`

### Methods inherited from class net.shibboleth.idp.profile.AbstractProfileAction

`doExecute, execute, getBean, getBean, getMessage, getMessage, getMessage, getParameter, getParameter, getProfileContextLookupStrategy, getRequestContext, getResult, setMessageSource, setProfileContextLookupStrategy`

### Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction

`doPreExecute, getActivationCondition, setActivationCondition`

### Methods inherited from class org.opensaml.profile.action.AbstractProfileAction

`doPostExecute, doPostExecute, ensureHttpServletRequest, ensureHttpServletResponse, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, isPreExecuteCalled, setHttpServletRequestSupplier, setHttpServletResponseSupplier`

### Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, 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.shared.component.InitializableComponent

`initialize, isInitialized`

## Field Details

### NAMESPACE

@Nonnull @NotEmpty protected static final String NAMESPACE
CAS namespace.

See Also:
  - Constant Field Values

### envelopeName

@Nonnull private QName envelopeName
SOAP envelope needed for old/broken CAS clients.

### bodyName

@Nonnull private QName bodyName
SOAP body needed for old/broken CAS clients.

### outgoingBinding

@NonnullAfterInit private BindingDescriptor outgoingBinding
Descriptor for outgoing SOAP binding.

## Constructor Details

### AbstractOutgoingSamlMessageAction

public AbstractOutgoingSamlMessageAction()

## Method Details

### setOutgoingBinding

public void setOutgoingBinding(@Nonnull BindingDescriptor descriptor)
Set the `BindingDescriptor` describing the outbound binding to use.

Parameters:
  `descriptor` - the descriptor
Since:
  4.0.0

### doInitialize

protected void doInitialize() throws ComponentInitializationException

Overrides:
  `doInitialize` in class `AbstractInitializableComponent`
Throws:
  `ComponentInitializationException`

### newSAMLObject

@Nonnull protected static <T extends SAMLObject> T newSAMLObject(Class<T> type, @Nonnull QName elementName)
Build the SAML object.

Type Parameters:
  `T` - type of SAML object
Parameters:
  `type` - the type of SAML object being built
  `elementName` - name of the
Returns:
  SAML object

### doExecute

protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)

Overrides:
  `doExecute` in class `AbstractProfileAction`

### buildSamlResponse

@Nonnull protected abstract Response buildSamlResponse(@Nonnull ProfileRequestContext profileRequestContext) throws EventException
Build the SAML response.

Parameters:
  `profileRequestContext` - profile request context
Returns:
  SAML response
Throws:
  `EventException` - to signal an event