SOAP Messages Over the JMS Transport
The HTTP transport does not provide guaranteed message delivery. The SOAP protocol is not specific to any transport, so SOAP messages in theory can be bound to any transport. JMS provides a highly reliable transport that can guarantee message delivery.ActiveMatrix BusinessWorks supports sending and receiving SOAP messages over the HTTP and JMS transports.
As of Release 5.3.0, there is no standard specification for SOAP messages over JMS. TIBCO has proposed a specification with the following features:
-
One-way and request/response operations
-
Thee support is based on SOAP 1.1, SOAP 1.2, and WSDL 1.1
What's in the JMS Message
The following sections describe the content of the JMS message containing a SOAP request.
JMS Header
JMS Message Headers and Properties for SOAP messages describes the JMS Message Headers and Properties.
JMS Message Headers and Properties |
Description |
TIBCO Compliant |
|
Content_Type |
This header must be one of the following:
Note: Content type parameters are also allowed, for example,
charset=utf-8 . |
Mime_Version |
Must be the string "1.0". |
SoapAction |
SOAPAction value as defined in the WSDL. |
JMSDestination |
This contains the destination name. |
JMSReplyTo |
This contains the reply to address to be used by service provider to return data. Currently, only temporary queues can be used for reply messages. |
JMSMessageID |
This contains a message ID generated by the JMS provider. |
W3C SOAP Over JMS 1.0 Specification |
|
SOAPJMS_targetService |
This contains the Target Service value as defined in the WSDL. |
SOAPJMS_bindingVersion |
Must be the string "1.0" |
SOAPJMS_contentType |
This contains the format of the message sent. |
SOAPJMS_soapAction |
This contains the SOAPJMS_soapAction value as defined in the WSDL |
SOAPJMS_isFault(boolean) |
This contains the value of the SOAP JMS Fault. |
SOAPJMS_requestURI |
This contains the value of the location. |
JMS Body
The JMS message body contains a binary representation of the actual SOAP message. Below is an example of a SOAP message.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV=
"http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body SOAP-ENV:encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/">
<ns0:getCatalog xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
xmlns:soap-enc=
"http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns0="http://InputMessageNamespace"/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>