"{" + MessageConstants.XENC_NS + "}" + MessageConstants.ENCRYPTED_DATA_LNAME;
public boolean preHandlingHook (StreamingHandlerState state)
throws Exception {
try {
SOAPMessageContext messageContext = state.getMessageContext();
SOAPMessage message = state.getRequest().getMessage();
StaticApplicationContext sContext = new StaticApplicationContext (getPolicyContext());
ProcessingContext context = new ProcessingContext();
copyToProcessingContext (context, messageContext);
String operation = getOperationName (message);
if (operation.equals(ENCRYPTED_BODY_QNAME) && _sConfig.hasOperationPolicies()) {
// get enclosing port level configuration
if (MessageConstants.debug) {
System.out.println("context in plugin= " + sContext.toString());
}
ApplicationSecurityConfiguration config =
(ApplicationSecurityConfiguration)
_sConfig.getSecurityPolicies(sContext).next();
if (config != null) {
context.setPolicyContext (sContext);
context.setSecurityPolicy (config);
} else {
ApplicationSecurityConfiguration config0 =
(ApplicationSecurityConfiguration) _sConfig.
getAllTopLevelApplicationSecurityConfigurations().iterator().next();
//sContext.setPortIdentifier ("");
context.setPolicyContext (sContext);
context.setSecurityPolicy (config0);
}
} else {
sContext.setOperationIdentifier(operation);
messageContext.setProperty(CONTEXT_OPERATION, operation);
SecurityPolicy policy = _sConfig.getSecurityConfiguration (sContext);
context.setPolicyContext (sContext);
if (PolicyTypeUtil.declarativeSecurityConfiguration(policy)) {
context.setSecurityPolicy(
((DeclarativeSecurityConfiguration)policy).receiverSettings());
} else {
context.setSecurityPolicy(policy);
}
}
context.setSecurityEnvironment (_securityEnvironment);
context.isInboundMessage (true);
if (_sConfig.retainSecurityHeader()) {
context.retainSecurityHeader(true);
}
SecurityRecipient.validateMessage (context);
messageContext.setProperty(CONTEXT_OPERATION, getOperationName (message));
copyToMessageContext (messageContext, context);
} catch (com.sun.xml.wss.impl.WssSoapFaultException soapFaultException) {
state.getResponse().setFailure(true);
throw getSOAPFaultException(soapFaultException);