if ((ep != null) && (((AbstractEndpoint) ep).isLeafEndpoint())) { try { sender.send(ep, messageContext);
MessageContext outCtx = sender.send(ep, messageContext);
try { if ("true".equals(synCtx.getProperty(SynapseConstants.OUT_ONLY))) { blockingMsgSender.send(endpoint, synapseOutMsgCtx); } else { resultMsgCtx = blockingMsgSender.send(endpoint, synapseOutMsgCtx); if ("true".equals(resultMsgCtx.getProperty(SynapseConstants.BLOCKING_CLIENT_ERROR))) { handleFault(synCtx, (Exception) synCtx.getProperty(SynapseConstants.ERROR_EXCEPTION));