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

# Class ProcessSamlMessageAction

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.ProcessSamlMessageAction

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

public class ProcessSamlMessageAction extends AbstractCASProtocolAction<TicketValidationRequest,TicketValidationResponse>
Processes the ticket validation request message from decoded SAML 1.1 message and request parameters. Possible outcomes:

- `null` on success
- `ProtocolViolation`
- `ServiceNotSpecified`
- `TicketNotSpecified`

## Field Summary

Fields
Modifier and Type
Field
Description
`private final org.slf4j.Logger`
`log`
Class logger.

## Constructor Summary

Constructors
Constructor
Description
`ProcessSamlMessageAction()`

## Method Summary

Modifier and Type
Method
Description
`protected Event`
`doExecute(RequestContext springRequestContext, ProfileRequestContext profileRequestContext)`
Spring-aware actions can override this method to fully control the execution of an Action by the Web Flow engine.

### 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

`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

`doExecute, 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, doInitialize, 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

### log

@Nonnull private final org.slf4j.Logger log
Class logger.

## Constructor Details

### ProcessSamlMessageAction

public ProcessSamlMessageAction()

## Method Details

### doExecute

@Nullable protected Event doExecute(@Nonnull RequestContext springRequestContext, @Nonnull ProfileRequestContext profileRequestContext)
Spring-aware actions can override this method to fully control the execution of an Action by the Web Flow engine.

Alternatively they may override `AbstractProfileAction.doExecute(ProfileRequestContext)` and access Spring information via a `SpringRequestContext` attached to the profile request context.

The default implementation attaches the Spring Web Flow request context to the profile request context tree to "narrow" the execution signature to the basic OpenSAML `ProfileAction` interface. After execution, an `EventContext` is sought, and used to return a result back to the Web Flow engine. If no context exists, a "proceed" event is signaled.

Overrides:
  `doExecute` in class `AbstractProfileAction`
Parameters:
  `springRequestContext` - the Spring request context
  `profileRequestContext` - a profile request context
Returns:
  a Web Flow event produced by the action