Report Messages
Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista
Report messages are system-generated messages that are sent to report queues when route tracking is enabled for the source computer by the Message Queuing administrator and tracing is requested for messages by the sending application. Typically they are created by Message Queuing; however, they can also be created by connector applications when sending messages to foreign queues.
Report messages trace the route of a message from its source computer to its destination queue. Each report message has its own message identifier, a specific message class, which indicates that it is a report message, and a label and body that provide details about the original message that was sent. When reading report messages, the receiving application must look at the label and body of the report message to find out when and where the report message was generated. For more information on using report messages, see Tracing Messages.
Reading Report Messages
When a report message is generated, the class of the report message is set to MQMSG_CLASS_REPORT and the report information is placed in the label and body of the report message.
The label of the report message contains a simplified version of the information in the body of the report message or a message conflict report. The format of the information in the message label is one of the following.
gggg:dddd:hh sent from <computer> to <address> at <time>
gggg:dddd:hh received by <computer> at <time>
Report Message Conflict
where "gggg" is the first four hexadecimal digits of the source queue identifier, "dddd" is an internal report message identifier, and "hh" is the hop count of the sent message.
If the report message label contains the "Report Message Conflict" string, the sent message and the local computer each refer to a different report queue. In this case, the receiving application can use the information in the body of the conflict report to find out where the report message that contains the report is located. Note that when report messages and conflict report message are generated, the label of both messages is set to "Report Message Conflict".
The body of the report message contains the report or, in the case of conflicts, information about where the report can be found. The format of the report message body is one of the following.
For report messages that contain the report, the XML format is as follows.
<MESSAGE ID>{sent message}</MESSAGE ID>
<TARGET QUEUE> {format name of destination}</TARGET QUEUE>
<NEXT HOP> {IP or IPX address of the next hop} </NEXT HOP>
<HOP COUNT> integer </HOP COUNT>
For conflict report messages that provide information about where the report is, the XML format is as follows. Note that the "original queue" in the format below if the report queue where the report is located.
<ORIGINAL QUEUE> {format name of report queue} </ORIGINAL QUEUE>
<MESSAGE ID> {sent message} </MESSAGE ID>
<TARGET QUEUE> {format name of destination queue} </TARGET QUEUE>
<NEXT HOP> {IP or IPX address of the next hop} </NEXT HOP>