There are two different types of messages used in the helloworld quickstart. The SendJMSMessage client creates a JMS message -- a javax.jms.Message. The JmsGatewayListener transforms the JMS message into an ESB message -- an org.jboss.soa.esb.message.Message -- and sends it on down the pipeline. The JMS message is defined by the JMS spec; it's ESB-unaware. The message that the JmsGatewayListener creates is ESB-specific.
That helped, thanks. Related question:
I am running ESB archive mode, as suggested in the Getting Started guide (ant deploy, ant runtest). The readme states:
"A .esb package is self-contained and has queue definitions that it needs in the esb archive."
...so even though 'queue/quickstart_helloworld_Request_gw' is being looked up in the JAS naming service, the queue itself resides in 'Quickstart_helloworld.esb', inside the ESB.
Why then do the architecture diagrams show the client sending messages to 'queue/quickstart_helloworld_Request_gw' residing in the JAS?
Maybe I don't understand the relationship between JAS and ESB. Is the ESB normally deployed as a set of archives UNDER JAS? Why?