3.1.7.1.30 Construct a UserMessage Packet

This event MUST be generated with the following argument:

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.