Click HERE to see how Saviynt Intelligence is transforming the industry. |
06/05/2024 07:58 PM
Hi,
Context: We have 2 connectors setup for integrating D365 into Saviynt as per recommendation. We successfully importing account and access from D365 into Savyint. But we keep getting error when provision an account and access from Saviynt into D365.
Here is the error message details:
{"auditDetails":{"Roles":[{"headers":null,"message":{"error":{"code":"","message":"An error has occurred.","innererror":{"message":"Write validation failed for table row of type 'SystemSecurityUserRoleEntity'. Infolog: Warning: User not found with User ID 'EXT-IBA'..","type":"Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataValidateWriteException","stacktrace":" at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateProcessor.CreateEntity_Save(ChangeOperationContext context, ChangeInfo changeInfo)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActionsInCompanyContext(IEnumerable`1 actionList, ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.TrySave(ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.SaveChanges()\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataDelegatingHandler.<SaveChangesAsync>d__2.MoveNext()"}}},"statusCode":400,"description":null,"status":"Failed"},{"headers":null,"message":{"error":{"code":"","message":"An error has occurred.","innererror":{"message":"Write validation failed for table row of type 'SystemSecurityUserRoleEntity'. Infolog: Warning: User not found with User ID 'EXT-IBA'..","type":"Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataValidateWriteException","stacktrace":" at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateProcessor.CreateEntity_Save(ChangeOperationContext context, ChangeInfo changeInfo)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActionsInCompanyContext(IEnumerable`1 actionList, ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.TrySave(ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.SaveChanges()\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataDelegatingHandler.<SaveChangesAsync>d__2.MoveNext()"}}},"statusCode":400,"description":null,"status":"Failed"},{"headers":null,"message":{"error":{"code":"","message":"An error has occurred.","innererror":{"message":"Write validation failed for table row of type 'SystemSecurityUserRoleEntity'. Infolog: Warning: User not found with User ID 'EXT-IBA'..","type":"Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataValidateWriteException","stacktrace":" at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateProcessor.CreateEntity_Save(ChangeOperationContext context, ChangeInfo changeInfo)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActionsInCompanyContext(IEnumerable`1 actionList, ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.TrySave(ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.SaveChanges()\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataDelegatingHandler.<SaveChangesAsync>d__2.MoveNext()"}}},"statusCode":400,"description":null,"status":"Failed"},{"headers":null,"message":{"error":{"code":"","message":"An error has occurred.","innererror":{"message":"Write validation failed for table row of type 'SystemSecurityUserRoleEntity'. Infolog: Warning: User not found with User ID 'EXT-IBA'..","type":"Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataValidateWriteException","stacktrace":" at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateProcessor.CreateEntity_Save(ChangeOperationContext context, ChangeInfo changeInfo)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActionsInCompanyContext(IEnumerable`1 actionList, ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.TrySave(ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.SaveChanges()\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataDelegatingHandler.<SaveChangesAsync>d__2.MoveNext()"}}},"statusCode":400,"description":null,"status":"Failed"},{"headers":null,"message":{"error":{"code":"","message":"An error has occurred.","innererror":{"message":"Write validation failed for table row of type 'SystemSecurityUserRoleEntity'. Infolog: Warning: User not found with User ID 'EXT-IBA'..","type":"Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataValidateWriteException","stacktrace":" at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateProcessor.CreateEntity_Save(ChangeOperationContext context, ChangeInfo changeInfo)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActionsInCompanyContext(IEnumerable`1 actionList, ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.TrySave(ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.SaveChanges()\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataDelegatingHandler.<SaveChangesAsync>d__2.MoveNext()"}}},"statusCode":400,"description":null,"status":"Failed"},{"headers":null,"message":{"error":{"code":"","message":"An error has occurred.","innererror":{"message":"Write validation failed for table row of type 'SystemSecurityUserRoleEntity'. Infolog: Warning: User not found with User ID 'EXT-IBA'..","type":"Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataValidateWriteException","stacktrace":" at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateProcessor.CreateEntity_Save(ChangeOperationContext context, ChangeInfo changeInfo)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActionsInCompanyContext(IEnumerable`1 actionList, ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.TrySave(ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.SaveChanges()\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataDelegatingHandler.<SaveChangesAsync>d__2.MoveNext()"}}},"statusCode":400,"description":null,"status":"Failed"},{"headers":null,"message":{"error":{"code":"","message":"An error has occurred.","innererror":{"message":"Write validation failed for table row of type 'SystemSecurityUserRoleEntity'. Infolog: Warning: User not found with User ID 'EXT-IBA'..","type":"Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataValidateWriteException","stacktrace":" at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateProcessor.CreateEntity_Save(ChangeOperationContext context, ChangeInfo changeInfo)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActionsInCompanyContext(IEnumerable`1 actionList, ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.TrySave(ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.SaveChanges()\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataDelegatingHandler.<SaveChangesAsync>d__2.MoveNext()"}}},"statusCode":400,"description":null,"status":"Failed"},{"headers":null,"message":{"error":{"code":"","message":"An error has occurred.","innererror":{"message":"Write validation failed for table row of type 'SystemSecurityUserRoleEntity'. Infolog: Warning: User not found with User ID 'EXT-IBA'..","type":"Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataValidateWriteException","stacktrace":" at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateProcessor.CreateEntity_Save(ChangeOperationContext context, ChangeInfo changeInfo)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActionsInCompanyContext(IEnumerable`1 actionList, ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.TrySave(ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.SaveChanges()\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataDelegatingHandler.<SaveChangesAsync>d__2.MoveNext()"}}},"statusCode":400,"description":null,"status":"Failed"},{"headers":null,"message":{"error":{"code":"","message":"An error has occurred.","innererror":{"message":"Write validation failed for table row of type 'SystemSecurityUserRoleEntity'. Infolog: Warning: User not found with User ID 'EXT-IBA'..","type":"Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataValidateWriteException","stacktrace":" at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateProcessor.CreateEntity_Save(ChangeOperationContext context, ChangeInfo changeInfo)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActionsInCompanyContext(IEnumerable`1 actionList, ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.TrySave(ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.SaveChanges()\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataDelegatingHandler.<SaveChangesAsync>d__2.MoveNext()"}}},"statusCode":400,"description":null,"status":"Failed"}]},"Roles":{"headers":null,"message":{"error":{"code":"","message":"An error has occurred.","innererror":{"message":"Write validation failed for table row of type 'SystemSecurityUserRoleEntity'. Infolog: Warning: User not found with User ID 'EXT-IBA'..","type":"Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataValidateWriteException","stacktrace":" at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateProcessor.CreateEntity_Save(ChangeOperationContext context, ChangeInfo changeInfo)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActionsInCompanyContext(IEnumerable`1 actionList, ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.TrySave(ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.SaveChanges()\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataDelegatingHandler.<SaveChangesAsync>d__2.MoveNext()"}}},"statusCode":400,"description":null,"status":"Failed"}}
I then checked the logs but no clear indication to what the cause of this error. Anyone has ever experience this before? if so, what would be the cause and how to fix it?
Thank you.
Regards,
Syafii
06/05/2024 08:06 PM
Share JSON configured for New Account /Add Acccess
Verify User ID in D365:
Check User Synchronization:
Review Provisioning Logic:
Check for Case Sensitivity:
Role Assignment Logic:
Review Integration Configuration:
06/05/2024 11:37 PM
Hi @rushikeshvartak ,
Thanks for the feedback. Please find the CreateAccountJSON and AddAccessJSON as follows:
CreateAccountJSON
{
"accountIdPath": "call1.message.UserID",
"responseColsToPropsMap": {
"displayname": "call1.message.UserID~#~char"
},
"call": [
{
"name": "call1",
"connection": "userAuth",
"url": "https://mydev-env.sandbox.operations.dynamics.com/Data/SystemUsers",
"httpMethod": "POST",
"httpParams": "{\"UserID\":\"${user.username}\",\"NetworkDomain\":\"https://sts.windows.net/saviynt0.onmicrosoft.com\",\"Company\":\"${user.customproperty18}\",\"Alias\":\"${user.customproperty1}\",\"DefaultCountryRegion\":\"${user.customproperty22}\",\"SqmEnabled\":\"${user.customproperty24}\",\"StartPage\":\"${user.customproperty30}\",\"PreferredTimeZone\":\"${user.customproperty31}\",\"HomePageRefreshDuration\":\"${user.customproperty32}\",\"UserInfo_language\":\"${user.customproperty33}\",\"Enabled\":true,\"UserName\":\"${user.username}\",\"AccountType\":\"ClaimsUser\",\"ExternalUser\":false,\"Helplanguage\":\"en-us\"}",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json",
"OData-Version": "4.0"
},
"httpContentType": "application/json"
}
]
}
CreateAccountJSON
{
"call": [
{
"name": "Roles",
"connection": "userAuth",
"url": "https://mydev_env.sandbox.operations.dynamics.com/Data/SecurityUserRoles",
"httpMethod": "POST",
"httpParams": "{\"UserId\":\"${account.accountID}\",\"SecurityRoleIdentifier\":\"${entitlementValue.entitlementID}\",\"SecurityRoleName\":\"${entitlementValue.entitlement_value}\",\"AssignmentStatus\": \"Enabled\",\"AssignmentMode\": \"Manual\",\"UserLicenseType\": \"Activity\"}",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json",
"OData-Version": "4.0"
},
"httpContentType": "application/json",
"unsuccessResponses": {
"statusCode": [
400,
401
]
},
"successResponses": {
"statusCode": [
200,
201,
204
]
}
},
{
"name": "Organizations",
"connection": "userAuth",
"url": "https://mydev_env.sandbox.operations.dynamics.com/Data/SecurityUserRoleOrganizations",
"httpMethod": "POST",
"httpParams": "{\"UserId\":\"${account.accountID}\",\"SecurityRoleIdentifier\":\"${requestAccessAttributes.SecurityRoleIdentifier}\",\"OrganizationType\": \"${entitlementValue.customproperty6}\",\"OrganizationId\": \"${entitlementValue.customproperty7}\",\"OperatingUnitType\": \"${entitlementValue.customproperty3}\"}",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json",
"OData-Version": "4.0"
},
"httpContentType": "application/json",
"unsuccessResponses": {
"statusCode": [
400,
401
]
},
"successResponses": {
"statusCode": [
200,
201,
204
]
}
}
]
}
Re. Verify user ID in D365. The user is not existed yet in D365. Hence the provisioning process in place, but got error during process.
Thank you.
06/09/2024 10:00 PM