Discussions

Ask a Question
Back to All

EMS 20.3.205.306: API Returning “The transaction is in doubt” Despite Successful Inserts via Bulk Panel Execute

Hi ASI Developer Team,

We're encountering a recurring API response issue:
“The transaction is in doubt.”

We have a scheduled integration that:

  • Executes an IQA
  • Sends the data to the ZNAPS_DATA table via the Bulk Panel Execute API
  • This acts as a snapshot log of member data

Despite the operation completing successfully and records being inserted correctly (as verified in the table), the API intermittently returns the above message.

This issue has recently increased in frequency and is affecting the different EMS 20.3.205.306 instances.

We’ve seen this occasionally in older instances, but it's extremely rare there.

API Integration Approach
We're using a C# wrapper (SDK-style) that abstracts API calls:

                                   PanelBulkRequest panelBulkRequest = new PanelBulkRequest
                                        {
                                            Type = ObjectType.AsiContracts,
                                            EntityTypeName = EntityType.ZNAPSDATA,
                                            OperationName = PanelOperation.BulkInsertAsync,
                                            Parameters = new PanelParameter
                                            {
                                                Type = ParameterType.SystemObjectMscorlib,
                                                ParameterValues = new List<PanelParameterValue>
                                            {
                                                new PanelParameterValue
                                                {
                                                    Type = ParameterType.AsiSoaCoreDataContractsGenericEntityDataAsiContracts,
                                                    DataValues = panelDataList
                                                }
                                            }
                                            },
                                            ParameterTypeNames = new List<ParameterType>
                                            {
                                                ParameterType.AsiSoaCoreDataContractsGenericEntityDataAsiContracts
                                            },
                                            UseJson = false
                                        };

                                        PanelBulkResponse panelBulkResponse = await imisApiUnitOfWork.PanelBulk.PostAsync(panelBulkRequest);
                                        if (panelBulkResponse == null)
                                        {
                                            snapshotExecution.FailureReason = "Insertion failure: Could not insert record(s).";
                                        }
                                        else if (panelBulkResponse.IsSuccessStatusCode == false)
                                        {
                                            snapshotExecution.FailureReason = "Insertion failure: " + panelBulkResponse.Message.ToString();
                                        }
                                        else
                                        {
                                            snapshotExecution.TotalRecords = panelDataList.Count;
                                        }

We're calling the API using a C# wrapper around PanelBulk.PostAsync. Here’s a sanitized version of the request:

Endpoint URL:
https://apdemoaisp14.imiscloud.com/api/ZNAPS_DATA/_execute

Request:

  {
  "$type": "Asi.Soa.Core.DataContracts.GenericExecuteRequest, Asi.Contracts",
  "OperationName": "BulkInsertAsync",
  "EntityTypeName": "ZNAPS_DATA",
  "Parameters": {
    "$type": "System.Collections.ObjectModel.Collection`1[[System.Object, mscorlib]], mscorlib",
    "$values": [
      {
        "$type": "System.Collections.Generic.List`1[[Asi.Soa.Core.DataContracts.GenericEntityData, Asi.Contracts]], mscorlib",
        "$values": [
          {
            "$type": "Asi.Soa.Core.DataContracts.GenericEntityData, Asi.Contracts",
            "EntityTypeName": "ZNAPS_DATA",
            "Properties": {
              "$type": "Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts",
              "$values": [
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldName",
                  "Value": "Member type"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "SnapName",
                  "Value": "Members by Type Prod"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ZID",
                  "Value": 1
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "SnapDate",
                  "Value": "2025-07-09T20:02:31.5002838Z"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ExecutionID",
                  "Value": 10019
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "Ordinal",
                  "Value": 1
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ExecutionOrdinal",
                  "Value": 1
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldText",
                  "Value": "17"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldID",
                  "Value": "17"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "NumberValue",
                  "Value": "17"
                }
              ]
            }
          },
          {
            "$type": "Asi.Soa.Core.DataContracts.GenericEntityData, Asi.Contracts",
            "EntityTypeName": "ZNAPS_DATA",
            "Properties": {
              "$type": "Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts",
              "$values": [
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldName",
                  "Value": "Member type"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "SnapName",
                  "Value": "Members by Type Prod"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ZID",
                  "Value": 1
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "SnapDate",
                  "Value": "2025-07-09T20:02:31.5002838Z"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ExecutionID",
                  "Value": 10019
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "Ordinal",
                  "Value": 2
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ExecutionOrdinal",
                  "Value": 2
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldText",
                  "Value": "45"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldID",
                  "Value": "45"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "NumberValue",
                  "Value": "45"
                }
              ]
            }
          },
          {
            "$type": "Asi.Soa.Core.DataContracts.GenericEntityData, Asi.Contracts",
            "EntityTypeName": "ZNAPS_DATA",
            "Properties": {
              "$type": "Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts",
              "$values": [
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldName",
                  "Value": "Member type"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "SnapName",
                  "Value": "Members by Type Prod"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ZID",
                  "Value": 1
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "SnapDate",
                  "Value": "2025-07-09T20:02:31.5002838Z"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ExecutionID",
                  "Value": 10019
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "Ordinal",
                  "Value": 3
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ExecutionOrdinal",
                  "Value": 3
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldText",
                  "Value": "186"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldID",
                  "Value": "186"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "NumberValue",
                  "Value": "186"
                }
              ]
            }
          },
          {
            "$type": "Asi.Soa.Core.DataContracts.GenericEntityData, Asi.Contracts",
            "EntityTypeName": "ZNAPS_DATA",
            "Properties": {
              "$type": "Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts",
              "$values": [
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldName",
                  "Value": "Member type"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "SnapName",
                  "Value": "Members by Type Prod"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ZID",
                  "Value": 1
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "SnapDate",
                  "Value": "2025-07-09T20:02:31.5002838Z"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ExecutionID",
                  "Value": 10019
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "Ordinal",
                  "Value": 4
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ExecutionOrdinal",
                  "Value": 4
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldText",
                  "Value": "2402"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldID",
                  "Value": "2402"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "NumberValue",
                  "Value": "2402"
                }
              ]
            }
          },
          {
            "$type": "Asi.Soa.Core.DataContracts.GenericEntityData, Asi.Contracts",
            "EntityTypeName": "ZNAPS_DATA",
            "Properties": {
              "$type": "Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts",
              "$values": [
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldName",
                  "Value": "Member type"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "SnapName",
                  "Value": "Members by Type Prod"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ZID",
                  "Value": 1
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "SnapDate",
                  "Value": "2025-07-09T20:02:31.5002838Z"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ExecutionID",
                  "Value": 10019
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "Ordinal",
                  "Value": 5
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "ExecutionOrdinal",
                  "Value": 5
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldText",
                  "Value": "9"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "FieldID",
                  "Value": "9"
                },
                {
                  "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
                  "Name": "NumberValue",
                  "Value": "9"
                }
              ]
            }
          }
        ]
      }
    ]
  },
  "ParameterTypeNames": [
    "System.Collections.Generic.List`1[[Asi.Soa.Core.DataContracts.GenericEntityData, Asi.Contracts]], mscorlib"
  ],
  "UseJson": false
}
{
  "Result": {
    "values": ["1681", "1682", "1683", "1684", "1685"]
  },
  "IsSuccessStatusCode": true,
  "Message": null,
  "ReasonPhrase": null,
  "StatusCode": 0,
  "ValidationResults": {
    "Errors": [],
    "Warnings": []
  }
}

These return:

"The transaction is in doubt."

We've confirmed this message is coming directly from the API layer.

This comes directly from:

if (panelBulkResponse.IsSuccessStatusCode == false)
{
  snapshotExecution.FailureReason = "Insertion failure: " + panelBulkResponse.Message.ToString();
}

What We Need Help With
What does “The transaction is in doubt” indicate in the context of your REST API?

Under what circumstances might this be returned despite a successful insert?

Is this tied to timeout, latency, or backend retries?

Are there known limitations with the bulk panel endpoint on EMS 20.3.205.306?

We’d appreciate any clarity or direction, especially before implementing workarounds on our end.

Thanks in advance!

Sharif
On behalf of Graeme McInteer
(ZNAPS Integration Team)

Contact us
Copyright © Advanced Solutions International, All rights reserved.