When using On Demand data or data functions with Kerberos delegation, if the Web Player user does not have a user profile on the WebPlayer machine then you get the below error. This is because, starting with 10.3 as part of our trust script mechanism we use the Windows Data Protection API (DPAPI). The DPAPI is using part of the user profile and the machine key to create the keys used.
ERROR;2019-08-15T21:24:07,932-05:00;2019-08-16 02:24:07,932;e6cf4a4d-8479-4110-81ca-a6d980c501bd;15211184cfZy6I;WorkThread 94;NGURRAM@xtonet.com WAT 4;8e8945e8243247361ef6d2ffdc503754;XTO\NGURRAM;Spotfire.Dxp.Framework.ApplicationModel.NotificationService;"Could not change property.
The data protection operation was unsuccessful. This may have been caused by not having the user profile loaded for the current thread's user context, which may be the case when the thread is impersonating.
at System.Security.Cryptography.ProtectedData.Protect(Byte[] userData, Byte[] optionalEntropy, DataProtectionScope scope)
at Spotfire.Dxp.Internal.Utilities.Cryptography.Encrypt(String plaintext, ApplicationType applicationType)
at Spotfire.Dxp.Framework.ScriptTrust.ScriptTrustApproval.WithAdditionalApproval()
at Spotfire.Dxp.Data.DataFunctions.DataFunctionDefinitionBuilder.Build()
at Spotfire.Dxp.Data.OnDemand.DataOnDemandFunctionDefinitionBuilder.Build()
at Spotfire.Dxp.Data.OnDemand.InformationLinkDataOnDemandImpl.SetSettings(DataOnDemandSettings settings, Boolean allowCaching)
at Spotfire.Dxp.Data.OnDemand.BaseDataOnDemandImpl.CheckTableUsage(DocumentNode node, PropertyName propertyName)
at Spotfire.Dxp.Framework.DocumentModel.InternalEventHandlerConnection.<>c__DisplayClass8_0.<Raise>b__2()
at Spotfire.Dxp.Framework.DocumentModel.DocumentView.Use(DocumentView documentView, DocumentViewExecutionState documentViewExecutionState, Action action)
at Spotfire.Dxp.Framework.DocumentModel.InternalEventHandlerConnection.Raise(DocumentNode eventSource, PropertyName propertyName, DocumentViewKey documentViewKey, DocumentView activeDocumentView, StreamingTriggerTrace streamingTriggerTrace)
at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.RaiseInternalEventsThatOriginatesFromThisNode(PropertyName propertyName, DocumentViewKey documentViewKey, DocumentView activeDocumentView, StreamingTriggerTrace streamingTriggerTrace)
at Spotfire.Dxp.Framework.Commands.InternalEventsPropertyChangedQueue.RaiseInternal()
at Spotfire.Dxp.Framework.Commands.CommandHistory.CommitInternalTransaction(Boolean isOuterMostTransaction)
at Spotfire.Dxp.Framework.Commands.CommandHistory.InternalTransactionHandle.PerformCommit()
at Spotfire.Dxp.Framework.DocumentModel.Node.InternalTransaction(Executor executor, Boolean rollbackNestedInternalTransactionAtException, Boolean isStreamingProperty)
at Spotfire.Dxp.Application.HtmlTextAreaControls.PropertyControl.SetPropertyValueAndForceEvents(Object value)
at Spotfire.Dxp.Application.HtmlTextAreaControls.PropertyControl.ModifyCore(Object value)
at Spotfire.Dxp.Framework.Commands.CommandHistory.Transaction(Executor executor, Boolean visible, Boolean sticky, Guid stickyGuid, Boolean isHighlight)
at Spotfire.Dxp.Framework.Commands.CommandHistory.Transaction(String displayName, Executor executor)
at Spotfire.Dxp.Application.Visuals.HtmlTextArea.InteractWithControl(String id, Action`1 interaction)