public void onChildEndpointFail(Endpoint endpoint, MessageContext synMessageContext) { logOnChildEndpointFail(endpoint, synMessageContext); if (!((AbstractEndpoint)endpoint).isRetryDisabled(synMessageContext)) { if (log.isDebugEnabled()) { log.debug(this + " Retry Attempt for Request with [Message ID : " + synMessageContext.getMessageID() + "], [To : " + synMessageContext.getTo() + "]"); } send(synMessageContext); } else { String msg = "Failover endpoint : " + (getName() != null ? getName() : SynapseConstants.ANONYMOUS_ENDPOINT) + " - one of the child endpoints encounterd a non-retry error, " + "not sending message to another endpoint"; log.warn(msg); informFailure(synMessageContext, SynapseConstants.ENDPOINT_FO_NONE_READY, msg); } }
public void onChildEndpointFail(Endpoint endpoint, MessageContext synMessageContext) { //If there is a failure in child endpoint, restore the original message envelope from the message context if (synMessageContext.getProperty(SynapseConstants.LB_FO_ENDPOINT_ORIGINAL_MESSAGE) != null) { try { synMessageContext.setEnvelope( (SOAPEnvelope) synMessageContext.getProperty(SynapseConstants.LB_FO_ENDPOINT_ORIGINAL_MESSAGE)); } catch (AxisFault ex) { log.error("Couldn't restore the original message to the failover endpoint", ex); } } logOnChildEndpointFail(endpoint, synMessageContext); if (((AbstractEndpoint)endpoint).isRetry(synMessageContext)) { if (log.isDebugEnabled()) { log.debug(this + " Retry Attempt for Request with [Message ID : " + synMessageContext.getMessageID() + "], [To : " + synMessageContext.getTo() + "]"); } send(synMessageContext); } else { String msg = "Failover endpoint : " + (getName() != null ? getName() : SynapseConstants.ANONYMOUS_ENDPOINT) + " - one of the child endpoints encounterd a non-retry error, " + "not sending message to another endpoint"; log.warn(msg); informFailure(synMessageContext, SynapseConstants.ENDPOINT_FO_NONE_READY, msg); } }