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:

  1. The Message domain property is set to a specific domain
  2. The Message domain property is left blank (default) and the JMSType header field from the JMS input message is used to indicate the domain
  3. 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

In this case, the node expects to receive only the allowed JMS message types for that domain, as shown by the following table:
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

The message domain is set according to the JMS message Java™ class as follows:
JMS message type Message domain
TextMessage XML
BytesMessage BLOB
MapMessage JMSMap
StreamMessage JMSStream
ObjectMessage BLOB