The way errors are handled in the SynapseCallbackReceiver is pretty strange to me. When an error happens at the transport sender this callback receiver is invoked. But when it is invoked, it uses the incoming message context to invoke the synapse configuration and send back the message. But there is a message context originated from the transport itself. Synapse callback doesn't use this message context for invoking the language.
This makes the life hard at the handling of faults in Synapse configuration. To send the fault back to the user, user has to do things like removing the To address and setting the RESPONSE to true. I would like to re-factor this code to use the original message context coming from the transport. WDYT? Thanks, Supun..
