and more in a single search tool across platforms. Read the announcement here. |
02/27/2023 05:49 AM
Hi Team,
While trying to import accounts and entitlements from a target application using REST connector the account import is showing success but no account is getting imported . In the case for access import , it is failing with the error message "Error - to Import Data correctly: Cannot get
property 'connection' on null object".
Can you please suggest me what can be the possible reasons for this error and also for not able to import the accounts.
Solved! Go to Solution.
02/27/2023 08:11 AM
Can you check if the Connection name "connection": "acctAuth", you have defined in your Import json is the same as that you have defined in your Connection JSON {"authentications":{"acctAuth"
02/27/2023 10:05 AM
Hi Sahil,
Yes I have defined the connection name same in both the JSONs. I am still getting the error.
02/27/2023 10:16 AM
Can you share the Connection and Import Json.
02/27/2023 11:00 AM
The connection JSON
{
"authentications": {
"userAuth": {
"authType": "oauth2",
"url": "<url>",
"httpMethod": "POST",
"httpParams": {
"grant_type": "password",
"client_id": "**",
"client_secret": "***",
"userName": "******",
"password": "*******"
},
"httpHeaders": {
"contentType": "application/x-www-form-urlencoded"
},
"httpContentType": "application/x-www-form-urlencoded",
"expiryError": "ExpiredAuthenticationToken",
"authError": [
"InvalidAuthenticationToken",
"AuthenticationFailed",
"FAILURE",
"INVALID_SESSION_ID"
],
"timeOutError": "Read timed out",
"errorPath": "errors.type",
"maxRefreshTryCount": 5,
"tokenResponsePath": "access_token",
"tokenType": "Bearer",
"accessToken": "Bearer <access token> "
}
}
}
The ImportAccountEnt JSON
{
"accountParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"successResponses": {
"statusCode": [200]
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "<url>",
"httpHeaders": {
"Authorization":"Bearer <token>",
"Accept": "application/json"},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
"listField": "records",
"keyField": "accountID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
"accountID": "Id~#~char",
"name": "username~#~char",
"Display Name": "Name~#~char",
"customproperty5": "UserRoleId~#~char",
"customproperty6": "ProfileId~#~char",
"customproperty2": "LastName~#~char",
"customproperty1": "FirstName~#~char",
"customproperty4": "Email~#~char"
}
}
},
"acctEntMappings": {
"Profile": {
"listPath": "Profile",
"idPath": "ProfileId",
"keyField": "entitlement_value"
},
"Role": {
"listPath": "Role",
"idPath": "UserRoleId",
"keyField": "entitlement_value"
},
"PermissionSet": {
"listPath": "PermissionSet",
"idPath": "",
"keyField": "entitlement_value"
}
}
},
"entitlementParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"successResponses": {
"statusCode": [200]
},
"entTypes": {
"Profile": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "<url>",
"httpHeaders": {
"Authorization": "Bearer <token>",
"Accept": "application/json"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
"listField": "records",
"keyField": "entitlement_value",
"colsToPropsMap": {
"entitlementID": "Id~#~char",
"entitlement_value": "Name~#~char",
"displayName": "Name~#~char",
"description": "description~#~char",
"customproperty2": "UserLicenseId~#~char"
},
"Role": {
"entTypeOrder": 1,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "<url>",
"httpHeaders": {
"Authorization": "Bearer <token>",
"Accept": "application/json"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
"listField": "records",
"keyField": "entitlement_value",
"colsToPropsMap": {
"entitlementID": "Id~#~char",
"entitlement_value": "Name~#~char",
"displayName": "Name~#~char",
"customproperty1": "ParentRoleId~#~char",
"description" : "RollupDescription~#~char",
"customproperty3": "DeveloperName~#~char"
},
"PermissionSet": {
"entTypeOrder": 2,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "<url>",
"httpHeaders": {
"Authorization": "Bearer <token>",
"Accept": "application/json"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
"listField": "records",
"keyField": "entitlement_value",
"colsToPropsMap": {
"entitlementID": "Id~#~char",
"entitlement_value": "Name~#~char",
"displayName": "Name~#~char",
"description" : "Label~#~char"
},
"disableDeletedEntitlements": true
}
}
}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}
}
}
}
}
}
}
Please note the access token is static in our case. Also when I am running the account import it is showing success but no accounts are getting imported and the the access import is failing with the above mention error message
02/27/2023 11:44 AM
Can you define acctEntParams outside of entitlementParams and then try.
"acctEntParams": {
"processingType": "acctToEntMapping"
02/27/2023 10:24 PM
Hi Sahil,
Thank you for your suggestion. I am able to import the entitlements successfully in Saviynt. But I am facing an issue in importing the users
In order to import the users we are using the url :
This query is working in postman, But in Saviynt I am getting the error :
{"log":"2023-02-28 06:03:52,571 [quartzScheduler_Worker-8] DEBUG rest.RestProvisioningService - Exception in retryFailedBatch with retry# 1 : java.sql.BatchUpdateException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Name = 'Matthew Wroughton', customproperty5 = '00Ei0000000Pf43EAC', customproper' at line 1\n","stream":"stdout","time":"2023-02-28T06:03:52.571990888Z"}..
Will you please help me to find what is causing the error in SQL query.
03/03/2023 08:40 AM
Can you update the connection, add value {"showLogs":true} for parameter Config json param and run the import.
In logs search for Calling Webservice Url and see if it shows you the data of all users being imported.