"Missing or Invalid Header" in AR cash receipt

SOLVED

Hi all

I am trying to create AR cash receipt in sage100c 2021 version by using the below script. I have added all the possible/required fields but still getting error "Missing or invalid header".

int taskID = (int)oSS.InvokeMethod("nLookupTask", "AR_CashReceipts_UI");
oSS.InvokeMethod("nSetProgram", taskID);
object successChecks = 0;
using (DispatchObject arCashReceipts = new DispatchObject(pvx.InvokeMethod("NewObject", "AR_CashReceipts_bus", oSS.GetObject())))
{
//Cah Receipt
successChecks = arCashReceipts.InvokeMethod("nSetKeyValue", "DepositNo$", "00061");
successChecks = arCashReceipts.InvokeMethod("nSetKeyValue", "ARDivisionNo$", "00");
successChecks = arCashReceipts.InvokeMethod("nSetKeyValue", "CustomerNo$", "0000001");
successChecks = arCashReceipts.InvokeMethod("nSetValue", "CustomerName$", "test");
successChecks = arCashReceipts.InvokeMethod("nSetValue", "DepositType$", "C");
successChecks = arCashReceipts.InvokeMethod("nSetKeyValue", "CheckNo$", "78");
successChecks = arCashReceipts.InvokeMethod("nSetValue", "PostingAmt", 10);  
// Add a line
successChecks = arCashReceipts.InvokeMethod("nAddLine");            // here i am getting the error "Missing or invalid header
if (successChecks.ToString() == "0")
{
object errorMsg = arCashReceipts.GetProperty("sLastErrorMsg");
Service1.WriteToLogFile("Error :- " + errorMsg.ToString());
}

using (DispatchObject oLines = new DispatchObject(arCashReceipts.GetProperty("oLines")))
{
successChecks = oLines.InvokeMethod("nAddLine");                   // here also the same error
if (successChecks.ToString() == "0")
{
object errorMsg = oLines.GetProperty("sLastErrorMsg");
Service1.WriteToLogFile("Error :- " + errorMsg.ToString());
}
successChecks = oLines.InvokeMethod("nGetValue", "InvoiceNo$", "0000363");
successChecks = oLines.InvokeMethod("nSetValue", "LineType$", "G");
successChecks = oLines.InvokeMethod("nSetValue", "AccountKey$", "5000", "kAccount");
successChecks = oLines.InvokeMethod("nWrite");
if (successChecks.ToString() == "0")
{
object errorMsg = oLines.GetProperty("sLastErrorMsg");
Service1.WriteToLogFile("Error :- " + errorMsg.ToString());
}
}

successChecks = arCashReceipts.InvokeMethod("nWrite");                             
if (successChecks.ToString() == "0")
{
object errorMsg = arCashReceipts.GetProperty("sLastErrorMsg");
Service1.WriteToLogFile("Error :- " + errorMsg.ToString());
}
else
{
Service1.WriteToLogFile("Cash receipt created successfully");
}
}

Not able to find what i am doing wrong in this. But I am just not sure where to go from here. Any help would be appreciated!