The payload is typically a MessagingException
with the message at the point of failure in its failedMessage property.
An optional originalMessage may be provided, which represents the message
that existed at the point in the stack where the error message is created.
Consider some code that starts with a message, invokes some process that performs
transformation on that message and then fails for some reason, throwing the exception.
The exception is caught and an error message produced that contains both the original
message, and the transformed message that failed.