Announcing the SAVIYNT KNOWLEDGE EXCHANGE unifying the Saviynt forums, documentation, training, and more in a single search tool across platforms. Click HERE to read the Announcement.

Getting the error "Cannot get property 'processingType' on null object" while reconciling accounts

Debankita
New Contributor III
New Contributor III

Hi Team,

While importing accounts and entitlement from target application, we are getting the error "Cannot get property 'processingType' on null object" . We are using the ImportEntAccountJSON as follows.

{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"successResponses": {
"statusCode": [
200
]
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "*******",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
"listField": "records",
"keyField": "accountID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
"accountID": "AssigneeId~#~char",
"name": "Assignee.Username~#~char",
"displayName": "Assignee.Name~#~char",
"customproperty2": "Assignee.LastName~#~char",
"customproperty1": "Assignee.FirstName~#~char",
"customproperty3": "Assignee.Login_ID__c~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},
"pagination": {
"nextUrl": {
"nextUrlPath": "${response?.completeResponseMap?.nextRecordsUrl==null?null:'*********'+response.completeResponseMap.nextRecordsUrl}"
}
}
},
 
 
"acctEntMappings": {
"Profile": {
"listPath": "",
"idPath": "Assignee.ProfileId",
"keyField": "entitlementID"
},
"Role": {
"listPath": "",
"idPath": "Assignee.UserRoleId",
"keyField": "entitlementID"
},
"PermissionSet": {
"listPath": "",
"idPath": "PermissionSet.Id",
"keyField": "entitlementID"
 
}
}
},
"entitlementParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"Profile": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "*****************",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
"listField": "records",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "Id~#~char",
"entitlement_value": "Name~#~char",
"displayName": "Name~#~char",
"description": "description~#~char",
"customproperty2": "UserLicenseId~#~char"
},
"disableDeletedEntitlements": false
}
}
},
"Role": {
"entTypeOrder": 1,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "***************************************",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
"listField": "records",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "Id~#~char",
"entitlement_value": "Name~#~char",
"displayName": "Name~#~char",
"customproperty1": "ParentRoleId~#~char",
"description": "RollupDescription~#~char",
"customproperty3": "DeveloperName~#~char"
},
"disableDeletedEntitlements": false
}
}
},
"PermissionSet": {
"entTypeOrder": 2,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "****************************************",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
"listField": "records",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "Id~#~char",
"entitlement_value": "Name~#~char",
"displayName": "Name~#~char",
"description": "Label~#~char"
},
"disableDeletedEntitlements": false
}
}
}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}
}
 
 
Please suggest us how to resolve the above error.

 

 

4 REPLIES 4

Debankita
New Contributor III
New Contributor III

Hi Team,

Can anyone please do help us with this error. Actually we need this issue to be resolved at the earliest.

SB
Saviynt Employee
Saviynt Employee

There is an issue with your JSON. The entitlementParams are defined inside accountParams. You can refer to the below JSON example to construct yours. 

Also adding the link to REST Connector guide you can refer to for JSON examples. https://docs.saviyntcloud.com/bundle/REST-v2022x/page/Content/Developers-Handbook.htm

{
"accountParams": {
"connection": "userAuth",
"createUsers": false,
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"statusColumn": "customproperty1",
"activeStatus": [
"1"
],
"deleteLinks": true,
"accountThresholdValue": 900,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": false,
"deleteAccEntForActiveAccounts": true
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://abc.com",
"httpHeaders": { },
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "maxisusers",
"keyField": "name",
"colsToPropsMap": { }
}
},
"acctEntMappings": {
"roles": {
"listPath": "",
"idPath": "rolename",
"keyField": "displayname",
"importAsEntitlement": false
}
}
},
"entitlementParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"roles": {
"entTypeOrder": 0,
"entTypeLabels": {},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "roles",
"keyField": "displayname",
"colsToPropsMap": {
},
"disableDeletedEntitlements": true
}
}
}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}

Regards,
Sahil

Debankita
New Contributor III
New Contributor III

Hi Sahil,

Thanks for the response . It helped us to resolve the "processing query" error. But we are facing another issue now, 

An account can have multiple permission Sets assigned to it. But with the above JSON we could see only 1 permission set is getting mapped to the account.

The path for Permission Set in the response Payload for the permission set mapping is x.records[n].PermissionSet.Id, where n is the no of permission Sets assigned to the particular account(1 less than the number, as the index starts from zero).

Please suggest us the necessary changes in the JSON, in order to map all the permission sets.

Please find the attached JSON

{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"successResponses": {
"statusCode": [
200
]
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "**********************",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
 
},
"listField": "records",
"keyField": "accountID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
 
"accountID": "AssigneeId~#~char",
"name": "Assignee.Username~#~char",
"displayName": "Assignee.Name~#~char",
"customproperty2": "Assignee.LastName~#~char",
"customproperty1": "Assignee.FirstName~#~char",
"customproperty3": "Assignee.Login_ID__c~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},
"pagination": {
"nextUrl": {
  "nextUrlPath": "**********************"
}
}
}
},
                
                
                     
"acctEntMappings": {
"Profile": {
"listPath": "",
"idPath": "ProfileId",
"keyField": "entitlementID"
},
"Role": {
"listPath": "",
"idPath": "UserRoleId",
"keyField": "entitlementID"
},
"PermissionSet": {
"listPath": "",
"idPath": "PermissionSet.Id",
"keyField": "entitlementID"
 
}
 
 
}
},
"entitlementParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"Profile": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "****************",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
 
},
"listField": "records",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "Id~#~char",
"entitlement_value": "Name~#~char",
"displayName": "Name~#~char",
"description": "description~#~char",
"customproperty2": "UserLicenseId~#~char"
},
 
"disableDeletedEntitlements": false
}
}
},
"Role": {
"entTypeOrder": 1,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "***************",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
 
},
"listField": "records",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "Id~#~char",
"entitlement_value": "Name~#~char",
"displayName": "Name~#~char",
"customproperty1": "ParentRoleId~#~char",
"description": "RollupDescription~#~char",
"customproperty3": "DeveloperName~#~char"
},
 
"disableDeletedEntitlements": false
}
}
},
"PermissionSet": {
"entTypeOrder": 2,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "*********",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
 
},
"listField": "records",
"keyField": "entitlementID",
 
"colsToPropsMap": {
"entitlementID": "Id~#~char",
"entitlement_value": "Name~#~char",
"displayName": "Name~#~char",
"description": "Label~#~char"
},
 
"disableDeletedEntitlements": false
}
}
}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}

SB
Saviynt Employee
Saviynt Employee

You can refer the REST Connector guide (Examples for JSON Construction and Developers Handbook
section) for reference examples to construct your JSON.  You can also use online tool https://jsonpath.com for any help with defining the path. 


Regards,
Sahil