Class WsawAddressingPolicyValidator

  • All Implemented Interfaces:
    PolicyAssertionValidator

    public class WsawAddressingPolicyValidator
    extends Object
    implements PolicyAssertionValidator
    This class validates the wsaw:UsingAddressing assertion. This class exists in WSIT to provide functionality for backwards compatibility with previously generated wsaw:UsingAddressing assertion.
    Author:
    Rama Pulavarthi
    • Constructor Detail

      • WsawAddressingPolicyValidator

        public WsawAddressingPolicyValidator()
        Creates a new instance of AddressingPolicyValidator
    • Method Detail

      • validateClientSide

        public PolicyAssertionValidator.Fitness validateClientSide​(PolicyAssertion assertion)
        Description copied from interface: PolicyAssertionValidator
        An implementation of this method must return:
        • Fitness.UNKNOWN if the policy assertion type is not recognized
        • Fitness.SUPPORTED if the policy assertion is supported in the client-side context
        • Fitness.UNSUPPORTED if the policy assertion is recognized however it's content is not supported. For each assetion that will be eventually marked with this validation value, the policy processor will log a WARNING message however an attempt to call the web service will be made.
        • Fitness.INVALID if the policy assertion is recognized however its content (value, parameters, nested assertions) is invalid. For each assetion that will be eventually marked with this validation value, the policy processor will log a SEVERE error and throw an exception. No further attempts to call the web service will be made.
        Specified by:
        validateClientSide in interface PolicyAssertionValidator
        Parameters:
        assertion - A policy asssertion (See PolicyAssertion). May contain nested policies and assertions.
        Returns:
        fitness of the assertion on in the client-side context. Must not be null.
      • validateServerSide

        public PolicyAssertionValidator.Fitness validateServerSide​(PolicyAssertion assertion)
        Description copied from interface: PolicyAssertionValidator
        An implementation of this method must return:
        • Fitness.UNKNOWN if the policy assertion type is not recognized
        • Fitness.SUPPORTED if the policy assertion is supported in the server-side context
        • Fitness.UNSUPPORTED if the policy assertion is recognized however it's content is not supported.
        • Fitness.INVALID if the policy assertion is recognized however its content (value, parameters, nested assertions) is invalid.
        For each assetion that will be eventually marked with validation value of UNKNOWN, UNSUPPORTED or INVALID, the policy processor will log a SEVERE error and throw an exception.
        Specified by:
        validateServerSide in interface PolicyAssertionValidator
        Parameters:
        assertion - A policy asssertion (See PolicyAssertion). May contain nested policies and assertions.
        Returns:
        fitness of the assertion on in the server-side context. Must not be null.
      • declareSupportedDomains

        public String[] declareSupportedDomains()
        Description copied from interface: PolicyAssertionValidator
        Each service provider that implements this SPI must make sure to identify all possible domains it supports. This operation must be implemented as idempotent (must return same values on multiple calls).
        It is legal for two or more PolicyAssertionValidators to support the same domain. In such case, the most significant result returned from validation methods will be eventually assigned to the assertion. The significance of validation results is as follows (from most to least significant):
        1. SUPPORTED
        2. UNSUPPORTED
        3. INVALID
        4. UNKNOWN
        Specified by:
        declareSupportedDomains in interface PolicyAssertionValidator
        Returns:
        String array holding String representations of identifiers of all supported domains. Usually a domain identifier is represented by a namespace.