Skip to main content

Notifications

Announcements

No record found.

Microsoft Dynamics GP (Archived)

GP 2013 r2 Requisitioning

Posted on by Microsoft Employee

Hi. I hope someone has a solution to our requisitioning issue now that it is part of the GP 2013 r2 client. I believe we have this configured and when I go in to workflow setup I can successfully send a test email and test the e-mail action.

When a requisition is put through, approvers receive the email but when they click on approve or reject it takes them to a webpage saying: Request Error: The server encountered an error processing the request. See server logs for more details.

However, there's no indication on the logs on the server (from what I can see). If the approver tries to look at the requisition using the link in the email it opens in Dynamics GP 2013 only if the application is installed and open on the machine, it doesn't open through the webclient.

Any ideas?

There are some errors when the server starts up which I copy below which may be related:

Error1:

System.Data.SqlClient.SqlException (0x80131904): Connection Timeout Expired.  The timeout period elapsed during the post-login phase.  The connection could have timed out while waiting for server to complete the login process and respond; Or it could have timed out while attempting to create multiple active connections.  The duration spent while attempting to connect to this server was - [Pre-Login] initialization=12234; handshake=294; [Login] initialization=16; authentication=108; [Post-Login] complete=2111;  ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out

  at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

  at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)

  at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)

  at System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync()

  at System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket()

  at System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer()

  at System.Data.SqlClient.TdsParserStateObject.TryReadByte(Byte& value)

  at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)

  at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)

  at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)

  at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover)

  at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout)

  at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)

  at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData)

  at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)

  at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)

  at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)

  at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)

  at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)

  at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)

  at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)

  at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)

  at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)

  at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)

  at System.Data.SqlClient.SqlConnection.Open()

  at System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser user)

  at System.Data.Linq.SqlClient.SqlProvider.get_IsSqlCe()

  at System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode()

  at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)

  at System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()

  at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)

  at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)

  at Microsoft.Dynamics.GP.Web.Services.Session.Service.SessionCentralBaseHandler.GetServiceSecurityGroups(String serviceName, ILinqDataContextProvider dataContext)

  at Microsoft.Dynamics.GP.Web.Services.Session.Service.SessionCentralDatabaseHandler.GetServiceSecurityGroups(String serviceName)

  at Microsoft.Dynamics.GP.Web.Services.Session.Service.SessionCentralService.InitializePrincipalManager()

ClientConnectionId:12008084-d116-4f56-bdaf-03a8c3fafccd

Error2 10 seconds later:

System.Data.SqlClient.SqlException (0x80131904): Cannot open database "GPWEBCLIENTSESSIONCENTRAL" requested by the login. The login failed.

Login failed for user 'VTCT\GPSharepoint1'.

  at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

  at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)

  at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)

  at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)

  at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)

  at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover)

  at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout)

  at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)

  at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData)

  at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)

  at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)

  at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)

  at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)

  at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)

  at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)

  at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)

  at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)

  at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)

  at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)

  at System.Data.SqlClient.SqlConnection.Open()

  at System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser user)

  at System.Data.Linq.SqlClient.SqlProvider.get_IsSqlCe()

  at System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode()

  at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)

  at System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()

  at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)

  at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)

  at Microsoft.Dynamics.GP.Web.Services.Session.Service.SessionCentralBaseHandler.GetServiceSecurityGroups(String serviceName, ILinqDataContextProvider dataContext)

  at Microsoft.Dynamics.GP.Web.Services.Session.Service.SessionCentralDatabaseHandler.GetServiceSecurityGroups(String serviceName)

  at Microsoft.Dynamics.GP.Web.Services.Session.Service.SessionCentralService.InitializePrincipalManager()

*This post is locked for comments

  • Suggested answer
    Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: GP 2013 r2 Requisitioning

    Update:

    The configuration file 'GPWebServices\GPWorkflowService.config' has to be modified to include your locale(s) in the 'PreferedLanguages' setting.

    Example GPWorkflowService.config file:

    <configuration>
      <appSettings file="WSServiceAppSettings.config">
        <add key="PreferedLanguages" value="en-ca,en-us,en,fr-ca,fr-fr,fr">
    ...


  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: GP 2013 r2 Requisitioning

    We're experiencing the same issue with GP 2015 R2 here.

    I can hardly imagine that a bug like this would take that long to fix. It's almost certainly something related to the server configuration. Has someone found another fix or workaround?

    In a BYOD world, the browser settings workaround is not really an option.

    Thanks!

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: GP 2013 r2 Requisitioning

    To force acceptance of the web service with other English language formats we needed to perform the following as we could not allow our client to use an American format for their other working:

     

    In Internet Explorer:

    1. To change your language preferences go to Tools > Internet Options > General (tab) > Languages > Language preference.

    2. Click on the 'Add' button in the language preferences window

    3. Add the language listed  en   and  en-us

       

  • Verified answer
    Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: GP 2013 r2 Requisitioning

    For anyone else experience this issue, my problem arose due to the language settings on my system which were EN-GB. This is the solution from Microsoft:

    The following culture are supported for workflow email approvals.

    en-us,en,en-es,es,fr-fr,fr

    To check what the OS culture is:

    To be specific you can try to look into accepted language header coming from browser? Here is how to do that:

    1. Open up IE

    2. Open IE development tool by pressing F12

    3. Depending on what version of IE go to Network profiling and start profiling

    4. Copy the link from email

    5. Navigate to that link using IE

    6. In Network profiling, double click url

    7. In Request header you will find Accept-Language key

    8. Accept-Language is the culture that he is using (which be any of our existing culture listed above)

    Solution:

    Try installing either of the supported culture on the OS (don’t make it primary if you don’t want) along with its language pack

    Here is how we do it on windows 7

    windows.microsoft.com/.../Install-or-change-a-display-language

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

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Suggested Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,280 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,214 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans