If the API Key is not expired and still getting the error The remote server returned an error: (401) Unauthorized. The Generate API Key role might be missing.
WebSocketException: Unable to connect to the remote server
at MailAndDeploy.Server.ExtensionMethods.Await(Task pTask, TimeSpan pTimeout)
at MailAndDeploy.Server.Json.Rpc.JsonRpcConnection..ctor(Uri pUri, JsonRpcCookie[] pCookies, JsonRpcHeader[] pHeaders)
at MailAndDeploy.Server.Connectors.QlikSense.QsSaasConnector.EstablishRpcConnection(Uri pUri, JsonRpcCookie[] pCookies, JsonRpcHeader[] pHeaders)
at MailAndDeploy.Server.Connectors.QlikSense.QsSaasConnector.EstablishRpcConnection(String pAppId, String& pEngineSessionId)
at MailAndDeploy.Server.Connectors.QlikSense.Model.QsApp.EstablishRpcConnection()
at MailAndDeploy.Server.Connectors.QlikSense.Model.QsApp..ctor(QsConnector pConnector, String pAppId)
at MailAndDeploy.Server.Connectors.QlikSense.QsConnector.OpenApp(QlikSenseAppDatasource pDatasource, UserIdentity pIdentity)
at MailAndDeploy.Server.Execution.TaskExecutionContext.GetDatasourceConnector(Datasource pDatasource)
at MailAndDeploy.Server.Persistency.Entities.ReloadDatasourceAction.ExecuteAction()
at MailAndDeploy.Server.Persistency.Entities.Action.Execute()
at MailAndDeploy.Server.Persistency.Entities.Task.Execute(IEnumerable`1 pParameterValues)
WebException: The remote server returned an error: (401) Unauthorized.
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- 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 System.Net.WebSockets.ClientWebSocket.d__21.MoveNext()