3.1.7.1.30 Construct a UserMessage Packet
This event MUST be generated with the following argument:
iMessage: A Message (section 3.1.1.12) ADM element instance.
Return Value:
rUserMessage: A UserMessage Packet ([MS-MQMQ] section 2.2.20) constructed in accordance with the attributes of iMessage.
The queue manager MUST perform the following actions to process this event:
Construct a UserMessage Packet that conforms to the rules specified in [MS-MQMQ] section 2.2.20.
Assign the constructed UserMessage Packet to rUserMessage.
Construct and include the following headers in rUserMessage based on the attributes of iMessage.
Header
Constructed and included when
TransactionHeader ([MS-MQMQ] section 2.2.20.5)
iMessage.TransactionIdentifier is specified; rUserMessage.UserHeader.Flags.TH MUST be set.
SecurityHeader ([MS-MQMQ] section 2.2.20.6)
iMessage.AuthenticationLevel is not set to None; rUserMessage.UserHeader.Flags.SH MUST be set.
MessagePropertiesHeader ([MS-MQMQ] section 2.2.19.3)
Any one of iMessage.CorrelationIdentifier, iMessage.BodyType, iMessage.AppSpecific, iMessage.MessageBody, iMessage.Body, iMessage.PrivacyLevel, iMessage.HashAlgorithm, iMessage.EncryptionAlgorithm, iMessage.Extension, or iMessage.Label is specified; rUserMessage.UserHeader.Flags.MP MUST be set.
DebugHeader ([MS-MQMQ] section 2.2.20.8)
iMessage.TracingQueueIdentifier is specified; rUserMessage.UserHeader.Flags.DH MUST be set.
MultiQueueFormatHeader ([MS-MQMQ] section 2.2.20.1)
iMessage.DestinationMultiQueueFormatName is specified; rUserMessage.UserHeader.Flags.MQ MUST be set.