As of WSO2 ESB 4.7.0, the JMS transport supports producing and consuming JMS MapMessage objects, which send a set of name/value pairs.
Producing a MapMessage
To send a MapMessage from a proxy service or API to a queue, construct an XML payload using the PayloadFactor mediator (or another method) in the following structure, and send it to a JMS endpoint:
The JMS sender will then produce the equivalent MapMessage object:
Consuming a MapMessage
When a proxy service receives a JMS MapMessage via a JMS broker, it will convert it to an XML message like this: