When a service bean throws a declared exception, it is being returned as an InvocationTargetException, its stack printed and then wrapped/thrown in a BeanComponentException.
This BeanComponentException is then returned as the message content for the exchange, rather than the defined exception.
This means that a defined transformer, from the defined exception type, is not being picked up.