I wish there could be a common exception handling mechanism in Spring Integration. Much like the client Gateway Interface method should be declared with "throws custom-wrapper-exception". In the server side, whenever an exception happens, using interceptors or transformers or automatically, the exceptions should be wrapped to target exception type and sent back to client. In the client side, wherever the gateway method is invoked, it should be surrounded with try catch or the exception should be thrown to next layer. By this there will be clean exception handling in conventional way, instead of getting exception as a normal reply and trying to cast/interpret it in client side.