// The invocation must happen in a separate thread, holding on the afterCompletion
// blocks other operations that could have been listed there as well.
_executorService.submit(new Callable<Object>() {
public Object call() throws Exception {
try {
operationClient.execute(true);
MessageContext response = operationClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
MessageContext flt = operationClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_FAULT_VALUE);
if (flt != null) {
reply(mexId, operation, flt, true);
} else {