According to the Spring Integration Reference Manual, 6.1.2 Configuring Transformer:
"If the return value is null, then no reply Message will be sent (effectively the same behavior as a Message Filter returning false)"
However, we have found that this is not the case.
The MessageTransformingHandler class sets 'requiresReply' to true when initialised. which results in the AbstractReplyProducingMessageHandler.handleMessageInternal() method throwing a MessageHandlingException ("handler 'XYZ' requires a reply, but no reply was received")
My first preference is that MessageTransformingHandler would conform to the manual and behave like a Filter.
However, this may be a non-backwards-compatible change for some users.
An acceptable alternative might be to add a 'requires-reply' attribute to the '<transformer/>' element to allow this behaviour to be disabled. (An update to the quoted documentation would also be required in this case.)