You should be able to do your own parsing to any object through externalization.
For a messaging system, a message is just made of random bytes. Any message system I have worked with the ObjectMessage will be just a parser into the payload for the message.
You could of course use the same with XML. But for the messaging system your message is just a payload of bytes, hence you can do anything you want.