Class ValidateActionHandler

All Implemented Interfaces:
Component, DestructableComponent, InitializableComponent, MessageHandler

public class ValidateActionHandler
extends AbstractMessageHandler
Handler implementation that checks a wsa:Action header against an expected value.

If the header is present, the value is first checked against the value obtained from subcontext data WSAddressingContext.getActionURI(). If that was not supplied, then the locally-configured value from getExpectedActionURI() is used. If neither expected value is available, the check is skipped.

  • Field Details

    • log

      private org.slf4j.Logger log
      Logger.
    • expectedActionURI

      private String expectedActionURI
      The expected Action URI value.
  • Constructor Details

    • ValidateActionHandler

      public ValidateActionHandler()
  • Method Details

    • getExpectedActionURI

      @Nullable public String getExpectedActionURI()
      Get the expected Action URI.
      Returns:
      the expected URI, or null
    • setExpectedActionURI

      public void setExpectedActionURI​(@Nullable String uri)
      Set the expected Action URI value.
      Parameters:
      uri - the new URI value
    • doPreInvoke

      protected boolean doPreInvoke​(@Nonnull MessageContext messageContext) throws MessageHandlerException
      Called prior to execution, handlers may override this method to perform pre-processing for a request.

      The default impl applies the Predicate set via the AbstractMessageHandler.setActivationCondition(Predicate).

      If false is returned, execution will not proceed.

      Subclasses which override this method should generally invoke the super version of this method first, so that the activation condition will be applied up front, and immediately return false if the super version returns false. This avoids unnecessary execution of the remaining pre-invocation code if the handler ultimately will not execute.

      Overrides:
      doPreInvoke in class AbstractMessageHandler
      Parameters:
      messageContext - the message context on which to invoke the handler
      Returns:
      true iff execution should proceed
      Throws:
      MessageHandlerException - if there is a problem executing the handler pre-routine
    • doInvoke

      protected void doInvoke​(MessageContext messageContext) throws MessageHandlerException
      Performs the handler logic.
      Specified by:
      doInvoke in class AbstractMessageHandler
      Parameters:
      messageContext - the message context on which to invoke the handler
      Throws:
      MessageHandlerException - if there is an error invoking the handler on the message context
    • getAction

      protected Action getAction​(@Nonnull MessageContext messageContext)
      Get message Action header.
      Parameters:
      messageContext - the current message context
      Returns:
      the message Action header