Dear All, I trust you are doing well.

The Nav 2018 Outlook Contact Insights plugin is still not working as intended.

Even though The Web Service are working fine both from Inside and Outside the organisation, their seems to be some authentication and/or communication issue from the Outlook  Classic or Web Client to Nav Server communication.

The Windows 2012R2 Server Operating System, .NET Framework, Nav 2018, SQL 2014 have all been updated to the latest versions. Same goes for the Exchange Server 2013.

We have tried all possible means of Service combinations to start the Services from “Network Service” to Domain Users and Domain Service Accounts. A specific Service Tier with “NavUserPassword” has been configured both as Main and then Secondary Service. Public Based Certificates have been installed and configured correctly with the Public Key accessible from the Services accounts used to Start Nav and SQL.

Nav Service Tiers and copresponding IIS Web Services have been deleted and re-created several times with all possible combinations with the SAME results:

 IIS Web Services are working as expected

  • SOAP and OData are working as expected
  • The Nav 2018 is setting up the Outlook Web Extension in Exchange Server through PowerShell without issues
  • The Outlook Web Extension manifest are updated without issues.
  • The Outlook Extension shows up in Outlook without issues

 But as soon as we launch the Outlook Insights from the Outlook toolbar or from the Web OWA,it just hangs at the Dynamics logo and 3 dots forever run across the top of the screen as per image below an eventually times-out:

Two Application event IDs no 0 and No 13 are then immediately logged into the Nav Server:

 

Event ID No 0

 

Error accessing Website

Raw Url:

Url:

Type: Microsoft.Dynamics.Nav.Types.NavCancelCredentialPromptException

Message: Exception of type 'Microsoft.Dynamics.Nav.Types.NavCancelCredentialPromptException' was thrown.

StackTrace:

   at Microsoft.Dynamics.Nav.Client.ConnectionEstablisher.PromptForCredentials() in S:\Depot\NAV110\Platform\Client\Shared\Prod.Client.ServiceConnection\ConnectionEstablisher.cs:line 1029

   at Microsoft.Dynamics.Nav.Client.ConnectionEstablisher.OpenConnection[TChannel](ConnectionRequest connectionRequest, ConnectionOptions connectionOptions, UserSettings& userSettings) in S:\Depot\NAV110\Platform\Client\Shared\Prod.Client.ServiceConnection\ConnectionEstablisher.cs:line 194

   at Microsoft.Dynamics.Nav.Client.Web.SimpleServerOperation.SimpleServerOperationConnectionEstablisher.OpenConnection[TChannel](ConnectionRequest connectionRequest, ConnectionOptions connectionOptions, UserSettings& userSettings) in S:\Depot\NAV110\Platform\Client\Web\Prod.Client.WebCommon\Security\SimpleServerOperation.cs:line 151

   at Microsoft.Dynamics.Nav.Client.Web.SimpleServerOperation.ExecuteCore[TResult,TChannel](RequestContext requestContext, ConnectionOptions serverConnectionOptions, Func`2 operation, Func`3 operationWithContext, Func`2 localExceptionHandler) in S:\Depot\NAV110\Platform\Client\Web\Prod.Client.WebCommon\Security\SimpleServerOperation.cs:line 270

Source: Microsoft.Dynamics.Nav.Client.ServiceConnection

 

Event ID No 13

 

Microsoft.AspNetCore.Server.Kestrel

Connection id "0HLPS1RB5VOU4": An unhandled exception was thrown by the application.

 

Microsoft.Dynamics.Nav.Types.NavCancelCredentialPromptException: Exception of type 'Microsoft.Dynamics.Nav.Types.NavCancelCredentialPromptException' was thrown.

   at Microsoft.Dynamics.Nav.Client.ConnectionEstablisher.PromptForCredentials() in S:\Depot\NAV110\Platform\Client\Shared\Prod.Client.ServiceConnection\ConnectionEstablisher.cs:line 1029

   at Microsoft.Dynamics.Nav.Client.ConnectionEstablisher.OpenConnection[TChannel](ConnectionRequest connectionRequest, ConnectionOptions connectionOptions, UserSettings& userSettings) in S:\Depot\NAV110\Platform\Client\Shared\Prod.Client.ServiceConnection\ConnectionEstablisher.cs:line 194

   at Microsoft.Dynamics.Nav.Client.Web.SimpleServerOperation.SimpleServerOperationConnectionEstablisher.OpenConnection[TChannel](ConnectionRequest connectionRequest, ConnectionOptions connectionOptions, UserSettings& userSettings) in S:\Depot\NAV110\Platform\Client\Web\Prod.Client.WebCommon\Security\SimpleServerOperation.cs:line 151

   at Microsoft.Dynamics.Nav.Client.Web.SimpleServerOperation.ExecuteCore[TResult,TChannel](RequestContext requestContext, ConnectionOptions serverConnectionOptions, Func`2 operation, Func`3 operationWithContext, Func`2 localExceptionHandler) in S:\Depot\NAV110\Platform\Client\Web\Prod.Client.WebCommon\Security\SimpleServerOperation.cs:line 315

   at Microsoft.Dynamics.Nav.Client.Web.SimpleServerOperation.Execute[TResult,TChannel](RequestContext requestContext, ConnectionOptions serverConnectionOptions, Func`2 operation, Func`2 localExceptionHandler) in S:\Depot\NAV110\Platform\Client\Web\Prod.Client.WebCommon\Security\SimpleServerOperation.cs:line 207

   at Microsoft.Dynamics.Nav.Client.Web.UserValidator.ValidateUser(RequestContext requestContext) in S:\Depot\NAV110\Platform\Client\Web\Prod.Client.WebCommon\Security\UserValidator.cs:line 60

   at Prod.Client.WebCoreApp.Authentication.TokenAuthenticationProvider.<Authenticate>d__2.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Microsoft.Dynamics.Nav.WebClient.Controllers.AuthenticateServiceController.<AuthenticateToken>d__12.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeActionMethodAsync>d__27.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeNextActionFilterAsync>d__25.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)

   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)

   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeNextResourceFilter>d__22.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ResourceExecutedContext context)

   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)

   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeAsync>d__20.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Microsoft.AspNetCore.Builder.RouterMiddleware.<Invoke>d__4.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware`1.<Invoke>d__18.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware`1.<Invoke>d__18.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Microsoft.Dynamics.Nav.WebClient.NoSniffMiddleware.<Invoke>d__2.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Microsoft.Dynamics.Nav.WebClient.RequestContextMiddlewareExtensions.<>c__DisplayClass0_0.<<UseDefaultRequestContextFeature>b__0>d.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.<Invoke>d__3.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.<Invoke>d__3.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Microsoft.AspNetCore.Server.IISIntegration.IISMiddleware.<Invoke>d__8.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Microsoft.AspNetCore.Builder.Extensions.UsePathBaseMiddleware.<Invoke>d__3.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   at Microsoft.AspNetCore.Hosting.Internal.RequestServicesContainerMiddleware.<Invoke>d__3.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame`1.<RequestProcessingAsync>d__2.MoveNext()

Thanking you in advance for your collaboration and support.