The Web services engine supports the use of an emerging industry standard SOAP over Java™ Message Service (JMS)-compliant messaging transport as an alternative to HTTP for communicating SOAP messages between clients and servers.
IBM® and other vendors have been working on the proposed SOAP over JMS specification since 2005. The specification has been submitted to W3C and a working group is established. The current member submission of this draft specification was jointly published in October, 2007. Refer to the SOAP over JMS specification for details of this industry standard.
This topic provides a summary of the emerging industry-standard SOAP over JMS protocol. Use this SOAP over JMS transport protocol if you need to provide implementations for the client or server components. Also, you need to make sure that the implementations are interoperable with the client and server components provided by the Web services engine in WebSphere Application Server.
Client responsibilities
text/xml; charset="UTF-8"
multipart/related; type="text/xml"; start="<...content-id_of_first_ part...>"This example represents a multipart message, where the first part is of type text/xml and contains the SOAP envelope. The other parts of the multipart message contain various attachments. The HTTP 1.1 specification contains more information about the Content-Type header.
Server responsibilities
Example: SOAP request without attachments
The following example displays the results from calling the JMS message toString method for a request message without attachments:
JMSMessage class: jms_bytes JMSType: null JMSDeliveryMode: 2 JMSExpiration: 0 JMSPriority: 4 JMSMessageID: null JMSTimestamp: -1 JMSCorrelationID: null JMSDestination: null JMSReplyTo: queue://_Q_7D6C2035383215AB00000000000F4241?busName=WsFvtBus JMSRedelivered: false JMS_IBM_MsgType: 1 SOAPJMS_contentType: text/xml; charset=UTF-8 SOAPJMS_targetService: MaelstromWsEndpoint SOAPJMS_requestIRI: jms:jndi:jms/MyRequestQueue?jndiConnectionFactoryName=jms/MyConnFactory&targetService=MyPort1 SOAPJMS_soapAction: "getQuote" SOAPJMS_bindingVersion: 1.0 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d227574662d38223f3e3c73 6f6170656e763a456e76656c6f706520786d6c6e733a736f6170656e763d22687474703a2f2f7363 68656d61732e786d6c736f61702e6f72672f736f61702f656e76656c6f70652f2220786d6c6e733a 7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222078 ...
Example: SOAP request with attachments
JMSMessage class: jms_bytes JMSType: null JMSDeliveryMode: 2 JMSExpiration: 0 JMSPriority: 4 JMSMessageID: null JMSTimestamp: -1 JMSCorrelationID: null JMSDestination: null JMSReplyTo: queue://_Q_F0940794C5CC2F84000000000044AA21?busName=WsFvtBus JMSRedelivered: false JMS_IBM_MsgType: 1 SOAPJMS_contentType: multipart/related; boundary=MIMEBoundaryurn_uuid_B6BAFEADB1886ADC241205525550237; type="text/xml"; start="<0.urn:uuid:B6BAFEADB1886ADC241205525550238@apache.org>" SOAPJMS_targetService: MaelstromWsEndpoint SOAPJMS_requestIRI: jms:jndi:jms/WebSvcsJMSQ?jndiConnectionFactoryName= jms/WebSvcsJMS_CF&targetService=MaelstromWsEndpoint SOAPJMS_soapAction: attachment SOAPJMS_bindingVersion: 1.0 2d2d4d494d45426f756e6461727975726e5f757569645f4236424146454144423138383641444332 34313230353532353535303233370d0a436f6e74656e742d547970653a20746578742f786d6c3b20 636861727365743d5554462d380d0a436f6e74656e742d5472616e736665722d456e636f64696e67 3a20386269740d0a436f6e74656e742d49443a203c302e75726e3a757569643a4236424146454144 4231383836414443323431323035353235353530323338406170616368652e6f72673e0d0a0d0a3c 736f6170656e763a456e76656c6f706520786d6c6e733a736f6170656e763d22687474703a2f2f73 6368656d61732e786d6c736f61702e6f72672f736f61702f656e76656c6f70652f2220786d6c6e73 3a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220 786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368 656d612d696e7374616e63652220786d6c6e733a736f6170656e633d22687474703a2f2f73636865 ...
SOAP response
JMSMessage class: jms_bytes JMSType: null JMSDeliveryMode: 2 JMSExpiration: 0 JMSPriority: 4 JMSMessageID: null JMSTimestamp: 0 JMSCorrelationID: ID:cdddb857f078a266eb9a972f110a134f0000000000000001 JMSDestination: null JMSReplyTo: null JMSRedelivered: false contentType: multipart/related; type="text/xml"; start="<961368106530.1092112854745.IBM.WEBSERVICES@yackerjr>"; boundary="----=_Part_0_1655006754.1092112854745" 0d0a2d2d2d2d2d2d3d5f506172745f305f313635353030363735342e313039323131323835343734 350d0a436f6e74656e742d547970653a20746578742f786d6c3b20636861727365743d5554462d38 ...