Viewing Messages
The Message Viewer displays information about the messages that your production has sent or queued.
Displaying the Message Viewer
To display the Message Viewer:
-
Log in to the Management Portal.
-
Switch to the namespace you want to work in.
-
Click Interoperability > View > Messages.
-
Click Try the new UI.
Alternatively, click Message Viewer at the top of the Production Configuration page.
Introduction to the Message Viewer
The upper area of the Message Viewer provides options for sorting and filtering the display.
The lower area lists the most recent messages in descending order by creation date. To refresh this area, click Search. The table displays the following information for each message:
-
A check box for selecting the message (for use when resending a message).
-
ID—The ID of the message. See Message Basics.
-
TimeCreated—The message creation time stamp. See Invocation Style and Message Time Stamps.
If you click Time Only, this column shows only the message times.
-
SessionId—The ID of the session associated with this message. 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 gray, in alternating rows—These messages are OK or are queued.
You can click this column in any row of the table to see a visual trace of the message through the production.
-
-
Status—Indicates the status of the message.
-
IsError—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.
-
Resent—Indicates whether this is a resent message, and if so, indicates which resend occurrence it belongs to. An initial message has Resent equal to 0. When a message is initially resent, Resent is 1 for the resent message. When a message is resent a second time, Resent is 2 for the second resend, and so on.
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 area displays the Message Details area.
Showing or Hiding Message Details
To display message details, click a message or click the Display Message Details
button on the right. The Message Viewer then displays a new area on the right, containing the Header, Body, and Contents sections.
To hide the message details, click the Hide Message Details
button.
Message Header Fields
The Message Details area includes the Header section, which displays the standard fields in any production message header:
-
Message ID—The ID of the message header (and also the message ID; see Message Basics).
-
Session ID—The ID of the session associated with this message. See Sessions.
-
TargetConfigName— The name of the business host that is intended to receive the message.
-
SourceConfigName—The business host that sent the message.
-
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.
-
TimeCreated—The message creation time stamp. See Invocation Style and Message Time Stamps.
-
Type—The message type: Request or Response.
-
Priority—The priority of the message relative to others in the queue, as assigned by the InterSystems IRIS messaging engine. See Message Priority.
-
SourceBusinessType—Inbound, Process, Outbound, or Unknown.
-
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.
-
-
TargetBusinessType—Inbound, Process, Outbound, or Unknown.
-
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.
-
-
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.
-
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).
-
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.
-
Invocation—Indicates how the message was sent. See Invocation Style and Message Time Stamps.
-
SuperSession—The ID for messages sent via HTTP from one production to another. For details, see SendSuperSession.
-
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 Ok.
-
Banked—Indicates whether or not this message is part of a message bank.
-
Resent—Indicates whether this is a resent message, and if so, indicates which resend occurrence it belongs to. An initial message has Resent equal to 0. When a message is initially resent, Resent is 1 for the resent message. When a message is resent a second time, Resent is 2 for the second resend, and so on.
-
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
The Message Details area includes the Body area, which displays the fields in the message body.
On a backup mirror member, it may not be possible to view message body data.
Message Contents
The Message Details area includes the Contents area, which displays formatted contents of the message body.
A virtual document appears in segments, with one segment per line.
Changing the Character Limit for XML Messages in the Contents Tab
The Contents area displays only the first 20000 characters of the message by default. This character limit prevents the user interface 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 or previous page of messages. To do so, click the Next Page
button or Previous Page
button, respectively. -
You can go to the first or last page of messages. To do so, click the First Page
button or Last Page
button, respectively. -
You can display more messages at once. To do so, select a value for Items per page.
The default is 20 messages.
-
You can change how the messages are sorted. To do so, click a column header in the table.
Adding and Removing Custom Columns
To temporarily display custom columns in the Message Viewer:
-
Click the Add Columns
button. -
Click Add Column.
-
For Criterion Type—Choose one of the following:
-
Header Field—This criterion is based on fields in a standard production message header object.
-
Body Property—This criterion is based on properties of a standard production message body object.
-
SearchTable Field—This criterion is based on entries in a search table class that you have defined in this namespace. A search table class is a specialized tool that you create to work with virtual documents.
-
VDoc Segment Field—This criterion is based on fields in a virtual document message segment. Identify the standard and the segment of interest. InterSystems IRIS then prompts you to choose from a list of fields in that segment.
-
VDoc Property Path—This criterion is based on fields in a virtual document message segment. Identify the standard and then enter a virtual property path that identifies a message segment and field that is valid for that standard.
Note:For background information about the VDoc fields in the Extended Criteria interface, see Using Virtual Documents in Productions. You do not need to use these fields unless your production routes some type of virtual document.
-
-
Class—Click a class name from the list. The choices are determined by Criterion Type.
-
The remaining options depend on the previous choices:
-
Segment Type—Select a virtual document segment type. This option is displayed if Criterion Type is VDoc Segment Field.
-
DocType—Select a virtual document type. This option is displayed if Criterion Type is VDoc Property Path.
-
Field Name—Select a field in the message header, the message body, or the search table. This option is displayed if Criterion Type is Header Field, Body Property, or SearchTable Field.
-
-
Click Search.
The new column is displayed to the right of the existing columns.
This change affects only your current session in the Message Viewer.
To remove a custom column:
-
Click the Add Columns
button.The system then displays all the custom column specifications, in the order in which you added them.
-
Click the Delete
button next to the column specification.
The Reset button also removes all custom columns (in addition to clearing your filters).
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 user interface. 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.