Sign Up Now!Log In
Neerman 10/16/2008 9:41:20 AM

eConnect Exception from HRESULT: 0x8000401A

We have recently developed a web form that submits payables trasactions to Microsoft Dynamics GP via econnect.  The form works in our testing environement but once we moved to production we are expereincing a problem.  In our testing environement the econnect installation as well as the GP SQl databases reside on the same server where as in production the GP databases on a a sql server and econnect it installed along with the Microsoft Dynamics GP server software on a separate application server. 


When trying to submit the form in the production environement we receive the following error:


10/15/2008 5:37:02 PM Error: The server process could not be started because the configured identity is incorrect.  Check the username and password. (Exception from HRESULT: 0x8000401A)


I have checked the username and password under componenet services -- computers 00 My Computer -- Com + Applications -- econnect service and the identity used is a domain admin account that has full access to the SQL instance where the GP databases are located.


I used the follwing KB article on partner source as a reference with no success.  KB873981


Any assitance you can provide would be greatly appreciated.


The follwoing is the eConnect9.0 code snippet I used for creating a new Batch:


public void SerializeNewBatchCreateObject()


SMTransactionBatchType smTrxBatchType = new SMTransactionBatchType();taCreateUpdateBatchHeaderRcd header = new taCreateUpdateBatchHeaderRcd();




//Populate the elements of the first PMTransaction

header.BACHNUMB = txtBatchNum.Text.Trim(); // GET THE NEW BATCH NUMBER

header.BCHCOMNT = txtBatchComment.Text.Trim(); // Batch Comments

header.BCHSOURC= "PM_Trxent"; // Batch Source

header.SERIES = 4; // 4-Purchasing


header.ORIGIN = Convert.ToInt16(ddlOrigin.SelectedValue); //Get the Selected Origin

header.BACHFREQ = Convert.ToInt16(ddlFrequency.SelectedValue.ToString()); //Get the Selected frequency

header.GLPOSTDT = txtBatchDate.Text.Trim(); //get the Batch creation Date from the WF

header.CHEKBKID = ddlCheckbookID.SelectedValue;


int UserIdLength = WindowsIdentity.GetCurrent().Name.Length; // Is this creating a problem ??

header.USERID = WindowsIdentity.GetCurrent().Name.Substring(15, UserIdLength - 15); // Is this creating a problem ??

//Add the header node to the Batch type object

smTrxBatchType.taCreateUpdateBatchHeaderRcd = header;


//Create an eConnect document object and populate i with the transaction type object

eConnectType eConnect = new eConnectType();SMTransactionBatchType[] myTrans = { smTrxBatchType };

eConnect.SMTransactionBatchType = myTrans;

//serialize to a memory stream.

XmlSerializer serializer = new XmlSerializer(eConnect.GetType());MemoryStream memStream = new MemoryStream();

serializer.Serialize(memStream, eConnect);

memStream.Position = 0;

//read from the memory stream to a string variable to pass to the eConnect API.

string xml = "";

XmlTextReader xmlreader = new XmlTextReader(memStream);

while (xmlreader.Read())

xml = xml + xmlreader.ReadOuterXml();



eConnectMethods eConCall = new eConnectMethods();

// Create a connection string to the Microsoft Dynamics GP Server

//Integrated security is required ( Integrated Security=SSPI)

string cnString = "data source=SVRSQL02\\ABC;initial catalog=XYZ;Integrated Security=SSPI;Persist Security Info=True;User ID=aa;Password=bbb;packet size=4096";

bool result;

// Create an AP Invoice in MIcrosoft Dynamics GP. Returns true if success

result = eConCall.eConnect_EntryPoint(cnString, EnumTypes.ConnectionStringType.SqlClient, xml, EnumTypes.SchemaValidationType.None, "");


catch (System.Exception exc)


string sMsg = Environment.NewLine + DateTime.Now.ToString() + " Error: " + exc.Message + Environment.NewLine + Environment.NewLine;








Version: Unknown or N/A
Section: eConnect