Skip to main content

Notifications

Community site session details

Community site session details

Session Id :
Microsoft Dynamics GP (Archived)

Error create sales person for Econnect

(0) ShareShare
ReportReport
Posted on by

Hi,
I'm new at eConnect programming, and I wonder if this c# code I'm using to create a salesperson via eConnect has something wrong:

using (eConnectMethods eConnectMethods = new eConnectMethods())

            {

                try

                {

                    taCreateSalesperson salesperson = new taCreateSalesperson();

 

                    //Se mapean los valores del vendedor al objeto taCreateSalesperson de eConnect:

                    salesperson.SLPRSNID = salespersonWrapper.IdSalesperson;

                    salesperson.SALSTERR = salespersonWrapper.IdSalesTerritory;

                    salesperson.EMPLOYID = salespersonWrapper.idEmployee;

                    salesperson.VENDORID = salespersonWrapper.idVendor;

                    salesperson.SLPRSNFN = salespersonWrapper.FirstName;

                    salesperson.SPRSNSMN = salespersonWrapper.MiddleName;

                    salesperson.SPRSNSLN = salespersonWrapper.LastName;

                    salesperson.ADDRESS1 = salespersonWrapper.AddressLine1;

                    salesperson.ADDRESS2 = salespersonWrapper.AddressLine2;

                    salesperson.ADDRESS3 = salespersonWrapper.AddressLine3;

                    salesperson.CITY = salespersonWrapper.City;

                    salesperson.STATE = salespersonWrapper.State;

                    salesperson.COUNTRY = salespersonWrapper.Country;

                    salesperson.PHONE1 = salespersonWrapper.Phone1;

                    salesperson.PHONE2 = salespersonWrapper.Phone2;

                    salesperson.PHONE3 = salespersonWrapper.Phone3;

                    salesperson.FAX = salespersonWrapper.Fax;

                    salesperson.INACTIVE = (short)salespersonWrapper.IsInactive;

                    salesperson.COMMCODE = salespersonWrapper.CommissionCode;

                    salesperson.COMPRCNT = salespersonWrapper.CommissionPercentage;

                    salesperson.STDCPRCT = salespersonWrapper.StandardCommissionPercentage;

                    salesperson.COMAPPTO = (short)salespersonWrapper.CommissionApplied;

                    salesperson.COSTTODT = salespersonWrapper.CostToDate;

                    salesperson.CSTLSTYR = salespersonWrapper.CostLastYear;

                    salesperson.TTLCOMTD = salespersonWrapper.TotalCommissionsToDate;

                    salesperson.TTLCOMLY = salespersonWrapper.TotalCommissionsLastYear;

                    salesperson.COMSLTDT = salespersonWrapper.CommissionedSalesToDate;

                    salesperson.COMSLLYR = salespersonWrapper.CommissionedSalesLastYear;

                    salesperson.NCOMSLTD = salespersonWrapper.NonCommissionedSalesToDate;

                    salesperson.NCOMSLYR = salespersonWrapper.NonCommissionedSalesLastYear;

                    salesperson.KPCALHST = (short)salespersonWrapper.KeepCalendarHistory;

                    salesperson.KPERHIST = (short)salespersonWrapper.KeepFiscalYearHistory;

                    salesperson.MODIFDT = salespersonWrapper.ModifiedDate;

                    salesperson.CREATDDT = salespersonWrapper.CreateDate;

                    salesperson.COMMDEST = (short)salespersonWrapper.CommissionDestination;

                    salesperson.UpdateIfExists = (short)salespersonWrapper.UpdateIfExists;

                    salesperson.RequesterTrx = (short)salespersonWrapper.RequesterTransaction;

                    salesperson.USRDEFND1 = salespersonWrapper.Userfield1;

                    salesperson.USRDEFND2 = salespersonWrapper.Userfield2;

                    salesperson.USRDEFND3 = salespersonWrapper.Userfield3;

                    salesperson.USRDEFND4 = salespersonWrapper.Userfield4;

                    salesperson.USRDEFND5 = salespersonWrapper.Userfield5;

 

                    // Asignar el vendedor a un nuevo tipo maestro de vendedores:

                    RMSalespersonMasterType salespersonMasterType = new RMSalespersonMasterType();                   

                    salespersonMasterType.taCreateSalesperson = salesperson;

 

                    // Assign the master customer type to a new collection of master customer types.

                    RMSalespersonMasterType[] salesPersonMasterTypes = { salespersonMasterType };

                    // Assign the master salesperson types to the eConnectType.

                    eConnectType eConnectType = new eConnectType();

                    eConnectType.RMSalespersonMasterType = salesPersonMasterTypes;

 

                    // Serialize the master salesperson type in memory.                   

                    MemoryStream memoryStream = new MemoryStream();

                    XmlSerializer xmlSerializer = new XmlSerializer(eConnectType.GetType());                   

 

                    // Serialize the eConnectType.

                    xmlSerializer.Serialize(memoryStream, eConnectType);

 

                    // Reset the position of the memory stream to the start.             

                    memoryStream.Position = 0;

 

                    // Create an XmlDocument from the serialized eConnectType in memory.

                    XmlDocument xmlDocument = new XmlDocument();

                    xmlDocument.Load(memoryStream);

                    memoryStream.Close();

 

                    // Call eConnect to process the XmlDocument.

                    eConnectMethods.CreateEntity(connectionString, xmlDocument.OuterXml);

 

                    retorno.Add("La operación de creación fue realizada exitosamente");

                    retorno.Add("");

                }

                catch (eConnectException ex)

                {

                    retorno.Add("eConnect Exception - " + ex.ToString());

                    retorno.Add(ex.StackTrace);

                }

                catch (System.Security.SecurityException ex)

                {

                    retorno.Add("security message - " + ex.ToString());

                    retorno.Add(ex.StackTrace);

                }

                catch (Exception ex)

                {

                    retorno.Add("Exception - " + ex.ToString());

                    retorno.Add(ex.StackTrace);

                }

                finally

                {

                    // Call the Dispose method to release the resources

                    // of the eConnectMethds object

                    eConnectMethods.Dispose();

                }

            }

When I execute the method, the following error shows up:

{"The source was not found, but some or all of the event logs could not be searched." To create the source, you need permission to read all event logs in order to verify that the new source name is unique. Inaccessible records: Security. "}

It's apparently an OS internal error, but I use the same structure to send Items in other method, and it works perfectly.

I appreciate all the help you could give to solve this problem. Thanks in beforehand

 

 

*This post is locked for comments

  • Srini Ramidi Profile Picture
    2 on at
    RE: Error create sales person for Econnect

    So that means eConnect service is not running otherwise you don't need to set eConnectMethods.RequireProxyService = false;

  • Community Member Profile Picture
    on at
    RE: Error create sales person for Econnect

    Hi Everyone!

    Thanks for the help! The issue was solved thanks to your orientation! I had to run Visual Studio as Administrator, add a eConnectMethods.RequireProxyService = false; line and That's it! it worked. I leave the final code for future needs:

    using (eConnectMethods eConnectMethods = new eConnectMethods())

               {

                   try

                   {

                       taCreateSalesperson salesperson = new taCreateSalesperson();                    

                       //Se mapean los valores del vendedor al objeto taCreateSalesperson de eConnect:

                       salesperson.SLPRSNID = salespersonWrapper.IdSalesperson;

                       salesperson.SALSTERR = salespersonWrapper.IdSalesTerritory;

                       salesperson.EMPLOYID = salespersonWrapper.idEmployee;

                       salesperson.VENDORID = salespersonWrapper.idVendor;

                       salesperson.SLPRSNFN = salespersonWrapper.FirstName;

                       salesperson.SPRSNSMN = salespersonWrapper.MiddleName;

                       salesperson.SPRSNSLN = salespersonWrapper.LastName;

                       salesperson.ADDRESS1 = salespersonWrapper.AddressLine1;

                       salesperson.ADDRESS2 = salespersonWrapper.AddressLine2;

                       salesperson.ADDRESS3 = salespersonWrapper.AddressLine3;

                       salesperson.CITY = salespersonWrapper.City;

                       salesperson.STATE = salespersonWrapper.State;

                       salesperson.COUNTRY = salespersonWrapper.Country;

                       salesperson.PHONE1 = salespersonWrapper.Phone1;

                       salesperson.PHONE2 = salespersonWrapper.Phone2;

                       salesperson.PHONE3 = salespersonWrapper.Phone3;

                       salesperson.FAX = salespersonWrapper.Fax;

                       salesperson.INACTIVE = (short)salespersonWrapper.IsInactive;

                       salesperson.COMMCODE = salespersonWrapper.CommissionCode;

                       salesperson.COMPRCNT = salespersonWrapper.CommissionPercentage;

                       salesperson.STDCPRCT = salespersonWrapper.StandardCommissionPercentage;

                       salesperson.COMAPPTO = (short)salespersonWrapper.CommissionApplied;

                       salesperson.COSTTODT = salespersonWrapper.CostToDate;

                       salesperson.CSTLSTYR = salespersonWrapper.CostLastYear;

                       salesperson.TTLCOMTD = salespersonWrapper.TotalCommissionsToDate;

                       salesperson.TTLCOMLY = salespersonWrapper.TotalCommissionsLastYear;

                       salesperson.COMSLTDT = salespersonWrapper.CommissionedSalesToDate;

                       salesperson.COMSLLYR = salespersonWrapper.CommissionedSalesLastYear;

                       salesperson.NCOMSLTD = salespersonWrapper.NonCommissionedSalesToDate;

                       salesperson.NCOMSLYR = salespersonWrapper.NonCommissionedSalesLastYear;

                       salesperson.KPCALHST = (short)salespersonWrapper.KeepCalendarHistory;

                       salesperson.KPERHIST = (short)salespersonWrapper.KeepFiscalYearHistory;

                       salesperson.MODIFDT = salespersonWrapper.ModifiedDate;

                       salesperson.CREATDDT = salespersonWrapper.CreateDate;

                       salesperson.COMMDEST = (short)salespersonWrapper.CommissionDestination;

                       salesperson.UpdateIfExists = (short)salespersonWrapper.UpdateIfExists;

                       salesperson.RequesterTrx = (short)salespersonWrapper.RequesterTransaction;

                       salesperson.USRDEFND1 = salespersonWrapper.Userfield1;

                       salesperson.USRDEFND2 = salespersonWrapper.Userfield2;

                       salesperson.USRDEFND3 = salespersonWrapper.Userfield3;

                       salesperson.USRDEFND4 = salespersonWrapper.Userfield4;

                       salesperson.USRDEFND5 = salespersonWrapper.Userfield5;

                       // Asignar el vendedor a un nuevo tipo maestro de vendedores:

                       RMSalespersonMasterType salespersonMasterType = new RMSalespersonMasterType();                    

                       salespersonMasterType.taCreateSalesperson = salesperson;

                       // Assign the master customer type to a new collection of master customer types.

                       RMSalespersonMasterType[] salesPersonMasterTypes = { salespersonMasterType };

                       // Assign the master salesperson types to the eConnectType.

                       eConnectType eConnectType = new eConnectType();

                       eConnectType.RMSalespersonMasterType = salesPersonMasterTypes;

                       // Serialize the master salesperson type in memory.                    

                       MemoryStream memoryStream = new MemoryStream();

                       XmlSerializer xmlSerializer = new XmlSerializer(eConnectType.GetType());                    

                       // Serialize the eConnectType.

                       xmlSerializer.Serialize(memoryStream, eConnectType);

                       // Reset the position of the memory stream to the start.              

                       memoryStream.Position = 0;

                       // Create an XmlDocument from the serialized eConnectType in memory.

                       XmlDocument xmlDocument = new XmlDocument();

                       xmlDocument.Load(memoryStream);

                       memoryStream.Close();

                       eConnectMethods.RequireProxyService = false;

                       // Call eConnect to process the XmlDocument.

                       eConnectMethods.CreateEntity(connectionString, xmlDocument.OuterXml);

                       retorno.Add("La operación de creación fue realizada exitosamente");

                       retorno.Add("");

                   }

                   catch (eConnectException ex)

                   {

                       retorno.Add("eConnect Exception - " + ex.ToString());

                       retorno.Add(ex.StackTrace);

                   }

                   catch (System.Security.SecurityException ex)

                   {

                       retorno.Add("security message - " + ex.ToString());

                       retorno.Add(ex.StackTrace);

                   }

                   catch (Exception ex)

                   {

                       retorno.Add("Exception - " + ex.ToString());

                       retorno.Add(ex.StackTrace);

                   }

                   finally

                   {

                       // Call the Dispose method to release the resources

                       // of the eConnectMethds object

                       eConnectMethods.Dispose();

                   }

  • Srini Ramidi Profile Picture
    2 on at
    RE: Error create sales person for Econnect

    Seems like exception, As Emily said you need to run as administrator to see the actual exception.

  • Verified answer
    Emily H Profile Picture
    474 on at
    RE: Error create sales person for Econnect

    Ronald,

    It looks like it is trying to log the exception for you in the Event Viewer logs but your user does not have permission to create the event log to use for eConnect exceptions.  Try running your eConnect app 'As Administrator'.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Jainam Kothari – Community Spotlight

We are honored to recognize Jainam Kothari as our June 2025 Community…

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Announcing the Engage with the Community forum!

This forum is your space to connect, share, and grow!

Leaderboard > 🔒一 Microsoft Dynamics GP (Archived)

#1
Almas Mahfooz Profile Picture

Almas Mahfooz 3 User Group Leader

Featured topics

Product updates

Dynamics 365 release plans