When an exception is thrown from a service which is called via a nested router, this exception is incorrectly delivered to the caller. Within Mule, this exception is wrapped in a ServiceException and transported over the Bus as an exception payload. Within the NestedInvocationHandler, the ServiceException itself is thrown to the caller. As ServiceException is a checked exception which is off course not declared on the interface implemented by the nested router, this results in a java.lang.reflect.UndeclaredThrowableException. The expected behaviour would be that the exception packed within the ServiceException would be thrown to the caller, as this exception is declared on the interface.