SOAP over JMS?

by Subbu Allamaraju on March 28, 2005 · 4 comments

While I was googling for some web services related work, I came across several pages containing “SOAP over JMS”. SOAP over HTTP makes sense, SOAP over SMTP makes sense, but what about SOAP over JMS?

Here are some links that I found interesting.

I understand the motivation of these authors. But the descriptions are technically inaccurate.

JMS is not a wire protocol. JMS does not define how a message should be transported across the network. You could as well write a JMS implementation using HTTP to transport messages.

When I dug into these articles, I found that they were actually talking about receiving a SOAP message over HTTP and then sending it to a JMS component (such as a message driven bean), and not “transporting SOAP over JMS”. There is no such thing as “SOAP over JMS”.

{ 4 comments… read them below or add one }

abeers February 23, 2006 at 2:47 pm

Subbu,
“SOAP over JMS” indeed makes sense (at least to me and authors) and here is how..

JMS is not just an API or MDB – it’s a messaging Service – simply put, a store and forward mechanism. You can send SOAP or any other text messages using the messaging service.
Let’s say application ‘A’ with a SOAP engine writes a SOAP request message into messaging service(queue) and application ‘B’ with a SOAP engine reads that SOAP message from the message service(queue), processes it and then responds in similar fashion – see there is no HTTP or SMTP used in this scenario, offcourse there are lower level protocols such as TCP/IP are involved.

You are right in that JMS is not a protocol like HTTP or SMTP, but one can send SOAP messages bw apps using a JMS provider.

Reply

Shaurabh Bharti May 31, 2006 at 12:25 am

SOAP over JMS does makes sense a lot! Actually, within smaller network (as said in 1st reference), it makes a lot of sense to use JMS for reliable messaging. However, in bigger networks as HTTP is quite default and easy supported by servers (which might not be case by all servers), hence, jms-http-http-jms is no bad soln.

I’m looking for an example implementatino for SOAP over JMS. Any pointers?

Thanks…

Reply

James October 14, 2010 at 7:33 pm

Shaurabh Bharti,

Here is a good link that provides a SOAP over JMS implementation in WebSphere Studio. http://www.ibm.com/developerworks/websphere/library/techarticles/0402_du/0402_du.html

Keep in mind that the W3C specification is not yet finalized. I talked with the IBM folks in the UK and there are some minor coding changes that need to be done to get the latest spec implemented in WAS. Apache CFX is under way from an implementation perspective too.

Reply

Subbu Allamaraju October 18, 2010 at 9:04 am

Note that JMS is an API and not a protocol. Unless you standardize on a single implementation of JMS, sending SOAP messages over JMS does not buy you much.

Reply

Leave a Comment

Previous post:

Next post: