The purpose of this solution article is to help to understand how to setup Error Handling in MEP, via a error found in a DSIManagerActivites.xlog file found in the logging folder on the server where MEP is installed.
Assumptions
This document assumes that you have access to Admin → Configuration → Error Handling inside MEP. It also assumes that you have access and have reviewed the DSIManagerActivites.xlog for the errors you want to handle
Understanding the Error you want to Handle
In the DSIManagerActivites file you may come across an error that you want to handle.
<ErrorActivity activitytype="Error" trackingid="73745d61-532e-4d33-b5e6-8d46f0520a20" secondarytrackingid="" agentname="DSIAgentCommunicationServer" threadid="36" description="System.IO.IOException exception in DSIAgentCommunicationServer.AcceptConnectionCallback : Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.." postedtime="2025-07-08T09:38:07.2763023-05:00" postedtimeutc="2025-07-08T14:38:07.2763023Z" linenumber="0" method="AcceptConnectionCallback" id="320dddb5-a0a6-49ec-a320-9841c2090360" servername="YOURSERVERNAME" exception="System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
 at System.Net.Sockets.Socket.BeginReceive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, AsyncCallback callback, Object state)
 at System.Net.Sockets.NetworkStream.BeginRead(Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)
 --- End of inner exception stack trace ---
 at System.Net.Sockets.NetworkStream.BeginRead(Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)
 at DSIAgentCommunicationServer.Servers.ThickClientServer.(ClientSessionThick A_0)
 at DSIAgentCommunicationServer.Servers.ThickClientServer.AcceptConnectionCallback(IAsyncResult ar)" />
To find out what you need to pull out of the logs to properly handle the error, please refer to this chart.
| Attribute Name | Attribute Value Example |
|---|---|
| activitytype | Error |
| trackingid | 73745d61-532e-4d33-b5e6-8d46f0520a20 |
| secondarytrackingid | NULL |
| agentname | DSIAgentCommunicationServer |
| threadid | 36 |
| description | System.IO.IOException exception in DSIAgentCommunicationServer.AcceptConnectionCallback : Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.. |
| postedtime | 2025-07-08T09:38:07.2763023-05:00 |
| postedtimeutc | 2025-07-08T14:38:07.2763023Z |
| linenumber | 0 |
| method | AcceptConnectionCallback |
| id | 320dddb5-a0a6-49ec-a320-9841c2090360 |
| servername | YOURSERVERNAME |
| exception | System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. —> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host at System.Net.Sockets.Socket.BeginReceive(Byte buffer, Int32 offset, Int32 size, SocketFlags socketFlags, AsyncCallback callback, Object state) at System.Net.Sockets.NetworkStream.BeginRead(Byte buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state) — End of inner exception stack trace — at System.Net.Sockets.NetworkStream.BeginRead(Byte buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state) at DSIAgentCommunicationServer.Servers.ThickClientServer.(ClientSessionThick A_0) at DSIAgentCommunicationServer.Servers.ThickClientServer.AcceptConnectionCallback(IAsyncResult ar) |
Only Error Activities with Exceptions can be handled. If you come across an error that does not have a exception, it cannot be handled through Error Handling in MEP.
Configuring Error Handling in MEP
The MEP Documentation located here does explain how to setup and configure Error Handling
- MEP 9.0: Error Handling Documentation
- MEP 9.7: Error Handling Documentation
- MEP 25.1 Error Handling Documentation
To help further clarify what is being asked of you from this documentation, it can be explained like this.
In the stack trace that is listed above in the there is a key/value pair of Exception: details.
What is needed in MEP to configure Error Handling for is the Key or in the instance above, System.IO.IOException
Sleep,Reconnect,Retry,Sleep,Reconnect,Retry,Sleep,Reconnect,Retry,Alert,Abort
This is the DSI recommended actions to take, if you require an email sent, you can alter/add to send an email.
However, email requires that Email is configured in MEP under system settings.
- MEP 9.0: System Settings Documentation
- MEP 9.7: System Settings Documentation
- MEP 25.1: System Settings Documentation