Class AbstractHeaderGeneratingMessageHandler

    • Field Detail

      • mustUnderstand

        private boolean mustUnderstand
        The statically configured value for mustUnderstand.
      • mustUnderstandStrategy

        @Nullable
        private Predicate<MessageContext> mustUnderstandStrategy
        Predicate strategy for evaluating mustUnderstand from the message context.
      • effectiveMustUnderstand

        private boolean effectiveMustUnderstand
        The effective mustUnderstand value to use.
      • targetNode

        @Nullable
        private String targetNode
        The statically configured value for target node (SOAP 1.1 actor or SOAP 1.2 role).
      • targetNodeStrategy

        @Nullable
        private Function<MessageContext,​String> targetNodeStrategy
        Function strategy for resolving target node from the message context.
      • effectiveTargetNode

        private String effectiveTargetNode
        The effective target node value to use.
    • Constructor Detail

      • AbstractHeaderGeneratingMessageHandler

        public AbstractHeaderGeneratingMessageHandler()
    • Method Detail

      • setMustUnderstand

        public void setMustUnderstand​(boolean flag)
        Set the statically configured value for mustUnderstand.
        Parameters:
        flag - true if header must be understood, false if not
      • setMustUnderstandStrategy

        public void setMustUnderstandStrategy​(@Nullable
                                              Predicate<MessageContext> strategy)
        Set the predicate strategy for evaluating mustUnderstand from the message context.
        Parameters:
        strategy - the predicate strategy
      • isEffectiveMustUnderstand

        protected boolean isEffectiveMustUnderstand()
        Get the effective value for mustUnderstand.
        Returns:
        the effective value for mustUnderstand.
      • setTargetNode

        public void setTargetNode​(@Nullable
                                  String node)
        Set the statically configured value for target node (SOAP 1.1 actor or SOAP 1.2 role).
        Parameters:
        node - the target node, may be null
      • setTargetNodeStrategy

        public void setTargetNodeStrategy​(@Nullable
                                          Function<MessageContext,​String> strategy)
        Set the predicate strategy for evaluating mustUnderstand from the message context.
        Parameters:
        strategy - the predicate strategy
      • getEffectiveTargetNode

        protected String getEffectiveTargetNode()
        Get the effective value for target node (SOAP 1.1 actor or SOAP 1.2 role).
        Returns:
        the effective value for target node
      • 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
      • decorateGeneratedHeader

        protected void decorateGeneratedHeader​(@Nonnull
                                               MessageContext messageContext,
                                               @Nonnull
                                               XMLObject header)
        Decorate the header based on configured and/or resolved values.
        Parameters:
        messageContext - the current message context
        header - the header to decorate