// ODE MEX needs to be invoked in a TX.
try {
_sched.execIsolatedTransaction(new Callable<Void>() {
public Void call() throws Exception {
PartnerRoleMessageExchange odeMex = (PartnerRoleMessageExchange) _server.getEngine().getMessageExchange(odeMexId);
Message response = fault ? odeMex.createMessage(odeMex.getOperation().getFault(
faultType.getLocalPart()).getMessage().getQName()) : odeMex.createMessage(odeMex
.getOperation().getOutput().getMessage().getQName());
try {
if (__log.isDebugEnabled()) {
__log.debug("Received response for MEX " + odeMex);
}
response.setMessage(odeMsgEl);
if (fault) {
if (faultType != null) {
if (__log.isDebugEnabled()) {
__log.debug("FAULT RESPONSE(" + faultType + "): " + DOMUtils.domToString(odeMsgEl));
}