JMS message payload and appropriate parser
Configure the JMSInput node properties to specify the message domain that will be used to parse the JMS message payload.
When the JMSInput node creates a message tree from the JMS message payload, the appropriate message domain for that payload must be used. Therefore, the JMSInput node must know the type of JMS message that it expects to receive. The JMSInput node extracts the payload from the JMS message using the appropriate JMS API, then passes the payload data to the parser for the domain. The parser creates the body portion of the message tree.
The message domain is derived according to the following criteria and in the following order of precedence:
- The Message domain property is set to a specific domain
- The Message domain property is left blank (default) and the JMSType header field from the JMS input message is used to indicate the domain
- The Message Domain property is left blank (default) and the JMSType header field from the JMS input message is also left blank
The Message domain property is set to a specific domain
Message domain | Valid JMS message types | ||||
---|---|---|---|---|---|
BytesMessage | TextMessage | MapMessage | StreamMessage | ObjectMessage | |
BLOB | • | • | • | ||
XMLNS | • | ||||
XMLNSC | • | ||||
JMSMap | • | ||||
JMSStream | • | ||||
MIME | • | • | |||
IDOC | • | • | |||
MRM | • | • | |||
XML | • |
- If the JMSInput node receives a JMS message type that is not valid for the message domain that is configured in the JMSInput node, the node issues a warning and backs out the message either to the source JMS provider destination, or to the backout destination.
- If you specify the MRM domain, you must also specify the Message model, Message and Physical format node properties.
- If you specify the IDOC domain, you must also specify the Message model and Physical format node properties.
- If you specify the XMLNSC domain, and you want to validate input messages, you must also specify the Message model node property.
The Message domain property is left blank (default) and the JMSType header field from the JMS input message is used to indicate the domain
The JMSType header field
must be set according to the URI format shown in the following table.
The domain in the mcd:
string can be uppercase or
lowercase.
JMSType | Message domain |
---|---|
mcd://BLOB |
BLOB |
mcd://MRM/[set]/[type]/[?format=fmt] |
MRM |
mcd://XMLNS |
XMLNS |
mcd://XMLNSC/[set] |
XMLNSC |
mcd://IDOC/[set]/[?format=fmt] |
IDOC |
mcd://MIME |
MIME |
mcd://XML |
XML |
- If the JMSInput node receives a JMS message type that is not valid for the message domain configured in the JMSType header, the node issues a warning and backs out the message either to the source JMS provider destination, or to the backout destination.
- If the JMSType field does not conform to this URI format, the message is handled in the BLOB domain.
- For details of the
[type]
syntax, refer to Specifying namespaces in the Message property . - If the XMLNSC domain is specified, use
[set]
only if you want to validate input messages.
The Message Domain property is left blank (default) and the JMSType header field from the JMS input message is also left blank
JMS message type | Message domain |
---|---|
TextMessage | XML |
BytesMessage | BLOB |
MapMessage | JMSMap |
StreamMessage | JMSStream |
ObjectMessage | BLOB |