public static List<WSEncryptionPart> getEncryptedParts(RampartMessageData rmd) { RampartPolicyData rpd = rmd.getPolicyData(); SOAPEnvelope envelope = rmd.getMsgContext().getEnvelope(); List<WSEncryptionPart> encryptedPartsElements = getPartsAndElements(false, envelope, rpd.isEncryptBody() && !rpd.isEncryptBodyOptional(), rpd .getEncryptedParts(), rpd.getEncryptedElements(), rpd .getDeclaredNamespaces()); return getContentEncryptedElements(encryptedPartsElements, envelope, rpd.getContentEncryptedElements(), rpd.getDeclaredNamespaces()); }
public void validateRequiredElements(ValidatorData data) throws RampartException { RampartMessageData rmd = data.getRampartMessageData(); RampartPolicyData rpd = rmd.getPolicyData(); SOAPEnvelope envelope = rmd.getMsgContext().getEnvelope(); for (String expression : rpd.getRequiredElements()) { if (!RampartUtil.checkRequiredElements(envelope, rpd.getDeclaredNamespaces(), expression)) { throw new RampartException("requiredElementsMissing", new String[]{expression}); } } }
public static List<WSEncryptionPart> getSignedParts(RampartMessageData rmd) { RampartPolicyData rpd = rmd.getPolicyData(); SOAPEnvelope envelope = rmd.getMsgContext().getEnvelope(); //"signAllHeaders" indicates that all the headers should be signed. if (rpd.isSignAllHeaders()) { Iterator childHeaders = envelope.getHeader().getChildElements(); while (childHeaders.hasNext()) { OMElement hb = (OMElement) childHeaders.next(); if (!(hb.getLocalName().equals(WSConstants.WSSE_LN) && hb.getNamespace().getNamespaceURI().equals(WSConstants.WSSE_NS))) { rpd.addSignedPart(hb.getNamespace().getNamespaceURI(),hb.getLocalName()); } } } return getPartsAndElements(true, envelope, rpd.isSignBody() && !rpd.isSignBodyOptional(), rpd.getSignedParts(), rpd .getSignedElements(), rpd.getDeclaredNamespaces()); }