/** * Enforces message processiong rules defined in the spec. * * @param message a message * @param requestMessageID the request messageID if we are checking a response message or null if * we are checking a request message * @param isServer true if this is a server * @throws SOAPBindingException if the message violates rules on client. * @throws SOAPFaultException if the message violates rules on server. */ public static void enforceProcessingRules( Message message, String requestMessageID, boolean isServer) throws SOAPBindingException, SOAPFaultException { CorrelationHeader corrH = message.getCorrelationHeader(); String messageID = corrH.getMessageID(); checkCorrelationHeader(corrH, requestMessageID, isServer); checkProviderHeader(message.getProviderHeader(), messageID, isServer); checkProcessingContextHeader(message.getProcessingContextHeader(), messageID, isServer); checkConsentHeader(message.getConsentHeader(), messageID, isServer); List usagHs = message.getUsageDirectiveHeaders(); if (usagHs != null && !usagHs.isEmpty()) { Iterator iter = usagHs.iterator(); while (iter.hasNext()) { UsageDirectiveHeader usagH = (UsageDirectiveHeader) iter.next(); checkUsageDirectiveHeader(usagH, messageID, isServer); } } }