As errors with a scale-out deployment of the Microsoft Dynamics GP 2013 Web Client go, the one covered in this post is not one that you are likely to encounter.
When I tried logging into the web client I received an unexpected error and went to the Windows Event Viewer on the Session Central for more details:
System.Data.SqlClient.SqlException (0x80131904): The target principal name is incorrect. Cannot generate SSPI context.
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.TdsLogin(SqlLogin rec)
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)
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, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnectionOptions userOptions)
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& connection)
at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser user)
at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
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)
I typically don’t post articles directly about my employer, Perfect Image, but today I am going to make a small exception.
We have open a vacancy at the moment for a Junior Dynamics GP Consultant.
This role is based in Newcastle upon Tyne, North East England, and is, when not onsite with clients, office based. Perfect Image have found that having people in the office, rather than working from home, gives junior members of staff opportunities to learn from more senior members of the team.
In this instance the Senior Consultant you would be working with is me; the only Microsoft Most Valuable Professional for Microsoft Dynamics GP in the UK and one of only two in Europe. You could be my very first minion (for an unspecified definition of very first).
If you do a scale-out deployment of the Microsoft Dynamics GP 2013 Web Client you may encounter trust relationship problems if you do not have the SSL certificates correctly installed:
An error occurred during session monitoring 'System.ServiceModel.Security.SecurityNegotiationException: Could not establish trust relationship for the SSL/TLS secure channel with authority 'sc1.domain.azurecurve.co.uk:48650'. ---> System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. ---> System.Security.AuthenticationException: The remote certificate is invalid according to the validation procedure.
While installing the scale-out deployment of the Microsoft Dynamics GP 2013 Web Client, I encountered an error which took me a lot longer than I liked to resolve:
There was no endpoint listening at https://sc1.domain.azurecurve.co.uk:48650/SessioNCentralService that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. ---? Syste.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not propoerly respond after a period of time, or established connection failed because connected host has failed to respond: 126.96.36.1996:48650
I recently completed a series of posts on a scale-out deployment the Microsoft Dynamics GP 2013 Web Client; during the course of writing that series I encountered a few problems, which I thought it might be useful to post.
This first post takes a look at an error I received after installation. When I tried to log into the Web Client I received the below error message:
An unexpected error has occurred. Press the Sign-in button to reconnect to the application.
Correlation ID: 66a9ddaa-4288-4535-affb-2a3ec0b072d3
Packt Publishing celebrates their 2000th title with an exclusive offer – We’ve got IT covered!
Known for their extensive range of pragmatic IT ebooks, Packt Publishing are celebrating their 2000th book title ‘Learning Dart’ and they want their customers to celebrate too.
To mark this milestone Packt Publishing has launched a ‘Buy One Get One Free’ offer across all eBooks until 26th March.
Packt is one of the most prolific and fast-growing tech book publishers in the world. Originally focused on open source software, Packt contributes back into the community paying a royalty on relevant books directly to open source projects. These projects have received over $400,000 as part of Packt’s Open Source Royalty Scheme to date.
Their books focus on practicality, recognising that readers are ultimately concerned with getting the job done. Packt’s digitally-focused business model allows them to quickly publish up-to-date books in very specific areas across a range of key categories – web development, game development, big data, application development, and more. Their commitment to providing a comprehensive range of titles has seen Packt publish 1054% more titles in 2013 than in 2006.
Click the banner above or this link to browse Packt’s collection of books and take advantage of this buy on, get one free offer.
Don’t forget there are a number of Microsoft Dynamics GP books available including my own book Microsoft Dynamics GP 2013 Financial Management and the Microsoft Dynamics GP 2013 Cookbook co-authored with Mark Polino.
The suggestion is as follows:
If the Excel Refreshable Report for SOP Line Items is used, it includes voids. The Data Connection properties have to be edited to exclude voids, rendering this refreshable report useless; unless you are not keeping voided transactions in History. I would like a column for voids added. Pretty much line item detail Excel Refreshable Reports will need this.
This would be a very useful feature to have and I would encourage you to go to MS Connect and vote.
Each post has contained an index at the bottom, but I thought it might be useful to follow up the series with a special Index post Continue reading → Microsoft Dynamics GP 2013 SP2 Web Client Scale-Out Deployment: Series Index
Along with the web client which gives access to the normal functionality of Microsoft Dynamics GP there is also a Web Management Console which can be used by administrators to manage the web client.
The Web Management Console is accessed via the web browser by replacing the GP part of the address wit WebManagementConsole and logging in with a Domain Account which is part of the Domain Group assigned to the Web Management Console:
The Microsoft Dynamics GP Web Client is very similar in form and function to the desktop client, but there are some differences between the two.
The first of the differences is with the menu bar. The first image below shows the menu bar in the desktop client; the second shows that of the web client. As you can see the main difference is in the absence of the drop down menus from the web client: