Message service folders

A number of folders are defined for use by WebSphere® MQ products.

<mcd>
Message content descriptor
<psc>
Publish/subscribe command
<pscr>
Publish/subscribe command response
<usr>
Application (user) defined properties
<jms>
Java™ Messaging Service

Each folder is contained in a separate NameValueData field, each of which is preceded by a NameValueLength field.

Independent software vendors can choose other names for their folders. However, you can prefix your chosen folder name with their internet domain name to avoid naming conflicts and problems. For example, a vendor with domain name ourcompany.com might name its folders:
com.ourcompany.xxx  or  com.ourcompany.ourData

The mcd folder

The <mcd> folder can contain the following elements that describe the structure of the message data in a WebSphere MQ message. They are all character strings, and are case sensitive.
<Msd>
Message domain
Valid values are:
mrm
The message is parsed by the MRM domain.
xmlnsc
The message is XML and is parsed by the XMLNSC domain.
xmlns
The message is XML and is parsed by the XMLNS domain.
xml
The message is XML and is parsed by the XML domain.
json
The message is parsed by the JSON domain.
dfdl
The message is parsed by the DFDL domain.
mime
The message uses the MIME standard and is parsed by the MIME domain.
idoc
The message is an SAP ALE IDoc from the WebSphere MQ Link for R/3, and is parsed by the IDOC domain.
none
The message is treated as an opaque BLOB, and delivered to the recipient without modification.

See Parsers for a description of each domain.

<Set>
The name of the message model that contains the definition of the message.

If <Msd> is mrm or idoc, you must use the <Set> element to supply the name of the message model.

If <Msd> is xmlnsc, and validation is enabled in the message flow, you must use the <Set> element to supply the name of the message model.

<Type>
The name of the message, in the specified message model, to which this message corresponds. The format of a simple message is {namespace-uri}:name where name is the name of the message.

The format {namespace-uri}name (that is, with no colon) is also valid to maintain compatibility with previous versions of IBM® Integration Bus.

If <Msd> is mrm or idoc, you must use the <Type> element to supply the name of the message definition.

<Fmt>
The name of a physical format in the specified message model.

If <Msd> is mrm or idoc, you must use the <Fmt> element to supply the name of the physical format in the message model.

If the message tree contains an MQRFH2 header, any node that modifies the message tree performs the following steps before propagating the message to the next node:
  • If there is no <mcd> folder, one is added, and the Msd, Set, Type, and Format fields are populated with values that match the current domain and the current setting in the Properties folder.
  • If there is an <mcd> folder, the Msd, Set, Type, and Format fields are overwritten with values that match the current domain and the current settings in the Properties folder.
Tip: If you need to propagate an MQRFH2 header without an <mcd> folder, you can remove the header by using the following ESQL code with a Compute node:
  CALL CopyEntireMessage();
  DELETE FIELD OutputRoot.MQRFH2.mcd;
  PROPAGATE FINALIZE NONE; -- Propagate the message without updating the headers 
  RETURN FALSE; -- Ensure that the message is not propagated again.

The psc folder

The <psc> folder is used to convey publish/subscribe command messages to the integration node.

Only one psc folder is allowed in the NameValueData field.

See Command messages for full details.

The pscr folder

The <pscr> folder is used to contain information from the integration node, in response to publish/subscribe command messages.

Only one pscr folder is present in a response message.

See Broker Response message for full details.

The integration node ignores this folder in messages that it receives from publish/subscribe applications.

The usr folder

The content model of the <usr> folder has the following characteristics.
  • Any valid XML name that does not contain a colon can be used as an element name.
  • Only simple elements, not groups, are allowed.
  • All elements take the default type of string.
  • All elements are optional, but must not occur more than once in a folder.
  • An MQRFH2 instance can contain, at most, one <usr> folder.

The jms folder

The content model of the <jms> folder contains the following MQRFH2 JMS fields:
  • Dst - represents the JMSDestination header field.
  • Dlv - represents the JMSDeliveryMode header field.
  • Exp - represents the JMSExpiration header field.
  • Pri - represents the JMSPriority header field.
  • Tms - represents the JMSTimestamp header field.
  • Cid - represents the JMSCorrelationID header field.
  • Rto - represents the JMSReplyTo header field.

See JMS message structure for more information about the content of JMS messages.