logger.warn("Could not parse SAS reply: " + e);
throw new org.omg.CORBA.NO_PERMISSION("SAS Could not parse SAS reply: " + e,
MinorCodes.SAS_CSS_FAILURE,
CompletionStatus.COMPLETED_MAYBE);
}
ClientConnection connection = ((ClientRequestInfoImpl) ri).connection;
// process CompleteEstablishContext message
if (contextBody.discriminator() == MTCompleteEstablishContext.value)
{
CompleteEstablishContext reply = contextBody.complete_msg();
logger.debug("receive_exception MTCompleteEstablishContext: " + reply.client_context_id);
// if not stateful, remove from connection
if (reply.client_context_id > 0 && !reply.context_stateful)
connection.purgeSASContext(reply.client_context_id);
}
// process ContextError message
if (contextBody.discriminator() == MTContextError.value)
{
ContextError reply = contextBody.error_msg();
logger.debug("receive_exception MTContextError: " + reply.client_context_id);
// if stateful, remove from connection
if (reply.client_context_id > 0)
connection.purgeSASContext(reply.client_context_id);
// if context not found, resend with empty context cache
if (reply.major_status == 2) throw new org.omg.PortableInterceptor.ForwardRequest(ri.target());
}
}