DynDeveloper.com

DynDeveloper.com

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();

 

try

{

//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();

memStream.Close();

 

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;

LogFile(sMsg);

}

finally

{

//eConCall.Dispose();

}

}

Version: Unknown or N/A
Section: eConnect