Exposing MQMD Headers as Properties
In the inbound direction, that is, when a message is received from a queue, the EAI MQSeries Server Transport feature exposes the MQMD headers as properties of a property set. The supported headers are summarized in the last table, about MQMD Message Headers, in this topic.
Outbound MQMD Headers
In the outbound direction, that is, when a message is placed on a queue, the EAI MQ Server Transport supports the headers shown in the following table to be set by the caller.
Header |
Value |
---|---|
CodedCharSetId |
MQCCSI_Q_MGR, MQCCSI_INHERIT, MQCCSI_EMBEDDED, or any positive Long. |
Encoding |
MQENC_NATIVE or any positive Long. |
Expiry |
Any positive Long. |
MsgType |
Any nonnegative Long. |
Persistence |
MQPER_PERSISTENT, MQPER_NOT_PERSISTENT, or MQPER_PERSISTENCE_AS_Q_DEF. |
Priority |
MQPRI_PRIORITY_AS_Q_DEF or any nonnegative Long. |
Report |
The only settable value is MQRO_NONE. |
ReplyToQ |
Name of the reply queue, for example, myQueue. ReplyToQ is set in the message header of an incoming MQ message by the sender application. This sets dynamically the queue for the response sent by Siebel CRM. ReplyToQ is valid for the ReceiveDispatchSend method. Note: If the Response queue is specified using a static configuration, then the ReplyToQ
header of the incoming message is ignored. The static configuration overrides dynamic
queuing.
ReplyToQ can also be set by the Siebel application, as MQMD_S_In_ReplyToQ while using the Send method, to specify the response parameters. |
ReplyToQMgr |
Name of the reply queue manager, for example, myQueueManager. ReplyToQMgr is set in the message header of an incoming MQ message by the sender application. This sets dynamically the queue manager for the response sent by Siebel CRM. ReplyToQMgr is valid for the ReceiveDispatchSend method. Note: If the Response queue is specified using a static configuration, then the ReplyToQMgr
header of the incoming message is ignored. The static configuration overrides dynamic
queuing.
ReplyToQMgr can also be set by the Siebel application, as MQMD_S_In_ReplyToQMgr while using the Send method, to specify the response parameters. |
You can set a MQMD message header for the Siebel application by specifying it as a property in a property set on the outbound side. Whereas on the inbound side, the MQMD message header of the response is exposed to the user as a property on the output property set.
On the inbound side, you can have the supported MQMD message headers as part of the output property set without having to do extra steps to see these MQMD message headers.
On the outbound side, you can set the MQMD message headers using the EAI MQSeries Server Transport. To modify the MQMD message headers on the outbound side, the property value for FullMQMDControl must be set to TRUE.
During the sending business service step (EAI MQSeries Server Transport.Send) within the workflow, input arguments are added that can modify MQMD headers. Once the property FullMQMDControl is set to TRUE, you can modify other MQMD headers as the examples show in the following table.
Input Arguments for Outbound MQMD Headers
The following table describes examples of input arguments for outbound MQMD headers.
Property |
Type |
Example Value |
---|---|---|
MQMD_S_In_CodedCharSetId |
Literal |
1208 |
MQMD_S_In_Encoding |
Literal |
MQENC_NATIVE |
MQMD_S_In_Expiry |
Literal |
MQEI_UNLIMITED |
MQMD_S_In_MsgType |
Literal |
TestMsgHeader |
MQMD_S_In_Persistence |
Literal |
MQPER_PERSISTENT |
MQMD_S_In_Priority |
Literal |
MQPRI_PRIORITY_AS_Q_DEF |
MQMD_S_In_ReplyToQ |
Literal |
MyQueue |
MQMD_S_In_ReplyToQMgr |
Literal |
MyQueueManager |
MQMD Message Headers Exposed as Properties in a Property Set
The following table summarizes the MQMD message headers that are exposed as properties in a property set.
Field |
Data Type |
Description |
Input or Output Property? |
---|---|---|---|
AccountingToken |
MQBYTE32 |
Accounting token |
Output |
ApplIdentityData |
MQCHAR32 |
Application data relating to identity |
Output |
ApplOriginData |
MQCHAR4 |
Application data relating to origin |
Output |
BackCount |
MQLONG |
Backout counter |
Output |
CodedCharSetId |
MQLONG |
Character set identifier of message |
Input and Output |
CorrelId |
MQBYTE24 |
Correlation identifier |
Output |
Encoding |
MQLONG |
Numeric encoding of message data |
Input and Output |
Expiry |
MQLONG |
Message lifetime |
Input and Output |
Feedback |
MQLONG |
Feedback or reason code |
Output |
Format |
MQCHAR8 |
Format name of message data |
Input and Output |
GroupId |
MQBYTE24 |
Group Identifier |
Output |
MsgFlags |
MQLONG |
Flags that specify attributes of the message or control its processing |
Output |
MsgSeqNumber |
MQLONG |
Sequence number of logical message within group |
Output |
MsgType |
MQLONG |
Message Type |
Input and Output |
Offset |
MQLONG |
Offset of data in physical message from start of logical message |
Output |
OriginalLength |
MQLONG |
Length of original message |
Output |
Persistence |
MQLONG |
Message persistence |
Input and Output |
Priority |
MQLONG |
Message priority |
Input and Output |
PutApplName |
MQCHAR28 |
Name of application that sent the message |
Output |
PutApplType |
MQLONG |
Type of application that sent the message |
Output |
PutDate |
MQCHAR8 |
Date when message was sent |
Output |
PutTime |
MQCHAR8 |
Time when message was sent |
Output |
ReplyToQ |
MQCHAR48 |
Name of reply queue |
Input and Output |
ReplyToQMgr |
MQCHAR48 |
Name of reply queue manager |
Input |
Report |
MQLONG |
Options for report messages |
Output |
UserIdentifier |
MQLONG |
User identifier |
Output |
Version |
MQLONG |
Structure version number |
Output |