We are delighted to share our new EIC Delivery Methodology for efficiently managing Saviynt Implementations and delivering quick time to value. CLICK HERE.

Import is failing with the message Error message

Debankita
New Contributor III
New Contributor III

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.

7 REPLIES 7

SB
Saviynt Employee
Saviynt Employee

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"


Regards,
Sahil

Debankita
New Contributor III
New Contributor III

Hi Sahil,

Yes I have defined the connection name same in both the JSONs. I am still getting the error.

SB
Saviynt Employee
Saviynt Employee

Can you share the Connection and Import Json.


Regards,
Sahil

Debankita
New Contributor III
New Contributor III

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

 

SB
Saviynt Employee
Saviynt Employee

Can you define acctEntParams outside of entitlementParams and then try.

"acctEntParams": {
"processingType": "acctToEntMapping"


Regards,
Sahil

Debankita
New Contributor III
New Contributor III

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 : 

https://<hostname>/services/data/v57.0/query/?q=SELECT%20Id,Username,LastName,FirstName,Name,UserRol...

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.

SB
Saviynt Employee
Saviynt Employee

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. 


Regards,
Sahil