Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

Getting error in during provisioning Account and Access to D365 from Savyint

Mosyafii
New Contributor II
New Contributor II

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

 

3 REPLIES 3

rushikeshvartak
All-Star
All-Star

Share JSON configured for New Account /Add Acccess

Steps to Troubleshoot and Resolve

  1. Verify User ID in D365:

    • Ensure that the User ID 'EXT-IBA' exists in D365. You can do this by logging into D365 and checking the user management section to see if the user is present and active.
  2. Check User Synchronization:

    • Verify that the user synchronization between Saviynt and D365 is working correctly. Ensure that the user 'EXT-IBA' is correctly synchronized and exists in both systems.
  3. Review Provisioning Logic:

    • Check the provisioning logic in Saviynt to ensure that it correctly maps and sends the User ID to D365. Verify that the User ID being sent matches the format and values expected by D365.
  4. Check for Case Sensitivity:

    • Ensure that there is no case sensitivity issue. The User ID 'EXT-IBA' should match exactly, including the case, as it is in D365.
  5. Role Assignment Logic:

    • Review the role assignment logic in Saviynt. Ensure that the role being assigned to the user 'EXT-IBA' exists in D365 and is correctly mapped.
  6. Review Integration Configuration:

    • Check the integration configuration between Saviynt and D365. Ensure that the endpoint URLs, authentication methods, and other settings are correctly configured.

Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

Mosyafii
New Contributor II
New Contributor II

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. 


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.