/** * Process any {@link SecurityPolicy}s which can be resolved for the message context. * * @param messageContext the message context to process * @throws SecurityException thrown if the decoded message does not meet the required security constraints */ protected void processSecurityPolicy(MessageContext messageContext) throws SecurityException { SecurityPolicyResolver policyResolver = messageContext.getSecurityPolicyResolver(); if (policyResolver != null) { Iterable<SecurityPolicy> securityPolicies = policyResolver.resolve(messageContext); if (securityPolicies != null) { for (SecurityPolicy policy : securityPolicies) { if (policy != null) { log.debug("Evaluating security policy of type '{}' for decoded message", policy.getClass() .getName()); policy.evaluate(messageContext); } } } else { log.debug("No security policy resolved for this message context, no security policy evaluation attempted"); } } else { log.debug("No security policy resolver attached to this message context, no security policy evaluation attempted"); } }