The user is running a SmartConnect integration to Dynamics GP.
On one machine, the integration fails with the error:
Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was [Pre-Login] initialization=0; handshake=0;
The initialization and handshake values given above can vary.
The integration works fine on other machines without error.
This error is caused by the eConnect service account not having permissions to the GP company database being integrated to.
If the integration works on another machine, the only way that would be possible would be if their eConnect Windows Service account is using a different user.
To find this, open the Windows Services window:
Windows-Key R and type Services.msc
Find the eConnect for Microsoft Dynamics GP 20XX Service.
If you have multiple versions installed, find the one that is running.
Open the service and look at the Identities tab and note the user (eonedemo\econnect in this example).
The easiest solution is to go to a working machine and do the same thing and find the user there. Then adjust the non-working machine account to be that same Windows identity.
But assuming that there are no other working machine, then we need to fix this account in SQL.
In SSMS, find the Windows Account in the Login section.
Make sure this account has a login to the GP system db (here installed as GPDYNAMICS) and each GP Company DB. For each of them, make sure they have the DYNGRP role. eOne would also recommend that the default schema is also set to ‘dbo’ to make 100% sure that the GP objects are referenced with that schema to avoid errors.
Once you have saved the new settings by pressing the OK button, restart the service. This error in SmartConnect/eConnect will be resolved.