Re: SOAP over JMS

Hi Sanjeev,
It sounds like you are implementing (more or less) the "SOAP receiving 
node" as described in the SOAP/JMS binding spec.   Note that the WSDL 
binding section of the spec really doesn't apply to the SOAP receiving 
node, since the WSDL is used by the client runtime (SOAP sending node) to 
construct the request message.    So you basically just need to receive 
the JMS message off the queue or topic, then use the JMS message 
properties (e.g. SOAPJMS_contentType) along with the body of the message 
(the format of the body will be described by the SOAPJMS_contentType 
property value) to de-serialize the request.   Then you would process the 
request and construct a response message and send it back in a JMS message 
according to the rules laid out by the SOAP/JMS binding spec.    The 
hardest part (IMO) is the message de-serialization step, although the code 
used to do that would basically be the same that's used to de-serialize a 
message received via HTTP so if your component already supports HTTP, then 
you are mostly done :)

Regards,





From:
<Sanjeev_Dokiburra@ibi.com>
To:
<public-soap-jms@w3.org>
Date:
11/19/2008 02:43 AM
Subject:
SOAP over JMS



Team,
 
I am developing a standalone component, which would pick soap/jms message 
from a destination, processes it (webservice call) and then returns the 
response to reply destination.  Could you please give me pointers about 
java implementation by looking at WSDL.  Wondering whether it would be 
normal http webservice rpc/document invocation using soapaction mentioned 
in line-25, after picking up request message.  Any help is appreciated.
 
<wsdl11:binding name="StockQuoteSoapJMSBinding" 
type="tns:StockQuotePortType" 
              xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/
">
15       <wsdl11soap11:binding style="document" 
              transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
16
17       <!-- We want this binding to use a particular CF class -->
18       <soapjms:jndiConnectionFactoryName>
19         sample.jms.ConnectionFactory
20       </soapjms:jndiConnectionFactoryName>
21       <!-- Specify PERSISTENT delivery mode -->
22       <soapjms:deliveryMode>PERSISTENT</soapjms:deliveryMode>
23
24       <wsdl11:operation name="GetLastTradePrice">
25         <wsdl11soap11:operation soapAction="
http://example.com/GetLastTradePrice"/>
26         <wsdl11:input>
27             <wsdl11soap11:body use="literal"/>
28         </wsdl11:input>
29         <wsdl11:output>
30             <wsdl11soap11:body use="literal"/>
31          </wsdl11:output>
32       </wsdl11:operation>
33   </wsdl11:binding>
 
 
Thanks & Rgds,
Sanjeev

Received on Wednesday, 19 November 2008 15:16:56 UTC