Skip to main content

Viewing Messages

The Message Viewer displays information about the messages that your production has sent or queued.

Introduction to the Message Viewer

To access the Message Viewer, select Interoperability > View > Messages. Alternatively, select Go to Message Viewer at the top of the Messages tab on the Production Configuration page.

The left area provides options for sorting and filtering the display.

The middle area lists the messages. To refresh this area, click the Search button. The table displays the following information for each message:

  • ID—The ID of the message. See Message Basics.

  • Time Created—The message creation time stamp. See Invocation Style and Message Time Stamps.

  • Session—The ID of the session associated with this message. See Sessions.

    You can select the Session number in any row of the table to see a visual trace of the message object through the production.

    The Session column also uses color as follows:

    • Red—The message encountered an error.

    • Green—The message marks the start of a session.

    • Silver—The message arrived after a timeout expired and is marked as discarded.

    • Orange—The message is suspended.

    • White and pale tan, in alternating rows—These messages are OK or are queued.

  • Status—Indicates the status of the message. See Message Status.

  • Error—Provides a quick overview of the results returned by the message to the business host that sent it.

    OK means normal behavior; Retry means the message experienced a failure but the business host that sent it is configured to retry the failed message. Error means an error was reported somewhere in the activity. Inactive means that the business host that sent the message has been idle for longer than its Inactivity Timeout setting, and may require diagnostic action.

  • Source—The business host that sent the message.

  • Target—The business host to which the message was sent.

If you are using the Message Bank Viewer, there is an additional option to specify the Message Bank client to search. See Using the Enterprise Message Bank.

If you select a message, the right pane then displays the following tabs:

The Visual Trace page displays the same information, arranged differently; it displays the message trace on the left and the Header, Body, and Contents tabs on the right.

Message Header Fields

In the right area, the Header tab displays the standard fields in any production message header:

  • <ObjectId>—The ID of the message header (and also the message ID; see Message Basics).

  • TargetConfigName— The name of the business host that is intended to receive the message.

  • Type—The message type, Request or Response.

  • Invocation—Indicates how the message was sent. See Invocation Style and Message Time Stamps.

  • CorrespondingMessageId—For a request message, this field contains the message ID of the corresponding response (if any) or it is blank. For a response message, this field contains the message ID of the corresponding request.

  • SessionId—The ID of the session associated with this message. See Sessions.

  • SourceConfigName—The business host that sent the message.

  • SourceBusinessType—BusinessService, BusinessProcess, BusinessOperation, or Unknown.

  • TargetBusinessType—BusinessService, BusinessProcess, BusinessOperation, or Unknown.

  • BusinessProcessId—Every business process that gets executed has an instance and this is the object ID of that instance. If the message is a request, this field identifies the business process in whose context the message was created (sender). If the message is a response, this field identifies the business process to which it is being returned (receiver). This field is empty in various circumstances, for example if an error occurred.

  • TargetQueueName—The destination “address” for the message, this indicates where it is going:

    • If this is a name, it identifies a public queue, such as Ens.ActorOpens in a new tab.

    • If this is a number, it identifies the job ID associated with the private queue of a business host.

  • ReturnQueueName—The return “address” for the message, this indicates where it came from:

    • If this is a name, it identifies a public queue, such as Ens.ActorOpens in a new tab.

    • If this is a number, it identifies the job ID associated with the private queue of a business host.

    The ReturnQueueId value is listed even if there is no response expected or needed for a particular request message type.

  • MessageBodyClassName—The class name for the message body.

  • MessageBodyId—The ID for the message body. This field matches the <ObjectId> field in the Message Body table.

  • Description—A text description of the message. The InterSystems IRIS Business Process Language (BPL) provides text in this field automatically, based on the type of BPL activity that generated the message.

  • SuperSession—The ID for messages sent via HTTP from one production to another. For details, see SendSuperSession.

  • Resent—Indicates whether this is a resent message.

  • Priority—The priority of the message relative to others in the queue, as assigned by the InterSystems IRIS messaging engine. See Message Priority.

  • TimeCreated—The message creation time stamp. See Invocation Style and Message Time Stamps.

  • TimeProcessed—The message usage time stamp. InterSystems IRIS sets this field when the message is taken off of the queue but then resets it to the current time while the message is being processed. Typically, for a completed message, it represents the time that the message processing was completed.

  • Status—Indicates the status of the message. See Message Status.

  • IsError?—The value 1 means that the message encountered an error. The value 0 means the message did not encounter any errors.

  • ErrorStatus—If IsError? is 1, then this is the text associated with the error. When IsError? is 0, ErrorStatus is the string “OK”.

  • Banked—Indicates whether or not this message is part of a message bank.

  • FIFOMessageGroup—Numeric identifier of the FIFO message group that this message belongs to. A FIFO message group is a group of messages that must be processed in first-in first-out order; see Maintaining First-In First-Out (FIFO) Processing.

    If the message does not belong to a FIFO message group, none of the FIFOMessageGroup properties are displayed.

  • FIFOMessageGroup.Identifier—Actual string identifier of the FIFO message group that this message belongs to, as assigned by the business host that defined the grouping.

  • FIFOMessageGroup.CompletionHosts—Comma-separated list of the business hosts that can release the message from the FIFO grouping.

  • FIFOMessageGroup.Dependencies—Comma-separated list of other message groups already in the queue that this group must wait on.

  • FIFOMessageGroup.StartQueue—Name of the message queue where this message was assigned to this message group.

  • FIFOMessageGroup.StartHeader—Id of the header of the message for which this message group processing was started.

  • FIFOMessageGroup.QueuedWaitingOnRelease—Identifies the message header (from this group) that is currently being processed, if any.

Message Body Fields

In the right area, the Body tab displays the message body information. Fields include:

  • The message body class name above the list of fields.

  • If the message body is a standard production message body object, a table displays the following information:

    • <ObjectId>—The object identifier for the message body. This field matches the MessageBodyId field in the Header tab.

    • The name and value of each property in the Message Type class.

    If the message body is any other type, there are no additional fields in the display.

Message Contents

In the right area, the Contents tab displays formatted contents of the message body.

The standard production message body appears in colorized XML format, as shown in the following example:

XML of a request message

A virtual document appears in segments, with one segment per line.

To view all the contents of large virtual document, it may be necessary to drag the bottom scroll bar far to the right. To view the message in a wider display, click the View Full Contents link or the View Raw Contents link. View Full Contents displays the message formatted by fields and View Raw Contents displays the unprocessed message contents, which can easily be copied and pasted into a text editor. For background information, see Using Virtual Documents in Productions.

Changing the Character Limit for XML Messages in the Contents Tab

The Contents tab displays only the first 20000 characters of the message by default. This character limit prevents the Management Portal from becoming unresponsive while rendering very large messages such as batch files parsed with a record map. However, InterSystems IRIS enables you to modify the character limit by setting either of the following global nodes:

^EnsPortal.Settings("All","MessageContents","OutputSizeLimit")
^EnsPortal.Settings("All","MessageContents","OutputSizeLimit",<MessageBodyClassname>)

<MessageBodyClassname> is an optional node that specifies the class name of the message bodies to which the limit applies. If you set both nodes, the value in the <MessageBodyClassname> node is used.

You can set the nodes to a value of 0 or greater, where 0 indicates no limit and a positive value indicates the number of characters to display in the Contents tab. For example, to increase the character limit for the Contents tab to 30000 characters for the Demo.Loan.Msg.CreditRatingResponse sample message body class, you can issue the following command in the Terminal:

set ^EnsPortal.Settings("All","MessageContents","OutputSizeLimit","Demo.Loan.Msg.CreditRatingResponse") = 30000

The OutputSizeLimit nodes do not affect the behavior of the View Full Contents or View Raw Contents pages. If you click the View Full Contents or View Raw Contents links in the Contents tab for a message, InterSystems IRIS attempts to display the complete message. To set a character limit for either page, you can append &LIMITSIZE=limit to the page URL, where limit indicates the maximum number of characters to display. For example, to set the character limit for the View Raw Contents page to 30000, you might modify the URL, using the <baseURL> for your instance:

http://<baseURL>/csp/proddemo/EnsPortal.MessageContents.zen?HeaderClass=Ens.MessageHeader&HeaderID=3&RAW=1&LIMITSIZE=30000

Paging Through the Messages

To see additional messages, you have the following options:

  • You can display the next page of messages. To do so, click Next.

  • You can display more messages. To do so, select a larger value for Page Size and click Search again.

    The default is 100 messages.

  • You can display the previous page of messages. To do so, click Previous.

  • You can change how the messages are sorted. To do so, click a different value for Sort Order.

Also use Time Format to specify whether to show only the time or the complete time with the date. The default is Complete.

The read-only Page field indicates which page of the list is being displayed.

Auditing Message Viewing

If the system is auditing the %SMPExplorer/ViewContents event, it writes data to the event log when the user is viewing a message in the Management Portal. If you wish to extend the kind of data written to the audit log, you can define a custom Data Transformation named EnsCustom.Util.DTL.Audit.MessageView. For more information about auditing events, see Auditing.

See Also

FeedbackOpens in a new tab