request.setMessage(_invocation.request);
_invocation.invokeTime = System.currentTimeMillis();
running = mex.invoke(request);
Status status = mex.getStatus();
CorrelationStatus cstatus = mex.getCorrelationStatus();
if (_invocation.expectedStatus != null && !status.equals(_invocation.expectedStatus))
failure(_invocation, "Unexpected message exchange status", _invocation.expectedStatus, status);
if (_invocation.expectedCorrelationStatus != null && !cstatus.equals(_invocation.expectedCorrelationStatus))
failure(_invocation, "Unexpected correlation status", _invocation.expectedCorrelationStatus, cstatus);
} catch (Exception ex) {
if (_invocation.expectedInvokeException == null)
failure(_invocation, "Unexpected invocation exception.", ex);