Saviynt unveils its cutting-edge Intelligence Suite products to revolutionize Identity Security!
Click HERE to see how Saviynt Intelligence is transforming the industry.
Saviynt Copilot Icon

Null response from target - When trying to map accounts to entitlements

vmudagal
New Contributor
New Contributor

Hi, 

I am trying to map accounts to entitlements(Groups) getting the following error in Job History:

Error In Getting Response In pullObjectsByRestNullResponseFromTarget
Error while getting entMappingParams Response WebService call failed with responseStatusCode nullFailed url-https://wd2-impl-services1.workday.com/tenant_name/user_name/SAV_SecurityGroupsAccountsMembers?Reference_ID=abc efg_shs&format=json for entType-SecurityGroup with Error Message-null

ImportAccountEntJSON

{
"accountParams": {
"connection": "workdayconnector",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://wd2-impl-services1.workday.com/tenant_name/user_name/SAV_Accounts?format=json",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "Report_Entry",
"keyField": "accountID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
"name": "User_Name~#~char",
"accountID": "User_Name~#~char"
}
}
}
},
"entitlementParams": {
"connection": "workdayconnector",
"processingType": "SequentialAndIterative",
"entTypes": {
"Role": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://wd2-impl-services1.workday.com/tenant_name/user_name/SAV_Roles?format=json",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "Report_Entry",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlement_value": "Role_ID~#~char",
"displayname": "Role_Name~#~char",
"entitlementID": "Role_ID~#~char"
}
}
}
},
"SecurityGroup": {
"entTypeOrder": 1,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://wd2-impl-services1.workday.com/tenant_name/user_name/SAV_Groups?format=json",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "Report_Entry",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "Group_ID~#~char"
"disableDeletedEntitlements": true
}
}
}
}
},
"acctEntParams": {
"connection": "workdayconnector",
"entTypes": {
"SecurityGroup": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "httpEntToAcct",
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://wd2-impl-services1.workday.com/tenant_name/username/SAV_Groups?Reference_ID=abc_xyz&format=j...",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "Report_Entry",
"entKeyField": "entitlementID",
"acctIdPath": "Members_group.Account_ID",
"acctKeyField": "accountID"

}
}
},
"Role": {}
}
}
}

Rest Response for :"url": "https://wd2-impl-services1.workday.com/tenant_name/username/SAV_Groups?Reference_ID=abc efg_shs&format=json",

{
    "Report_Entry": [
        {
            "Group_ID""DNU Integration_Access_Payroll_CAN",
            "Security_Group""DNU EIB Access (Payroll CAN) (Inactive)"
        }
    ]
}
 

Rest Response for :"url": "https://wd2-impl-services1.workday.com/tenant_name/username/SAV_Groups?Reference_ID=jhgs_hshs&format...",

{
    "Report_Entry": [
        {
            "Group_ID": "jhgs_hshs",
"Members_group": [
{
"Account_ID": "26"
},
{
"Account_ID": "262"
},
{
"Account_ID": "260"
},
],
            "Security_Group": "adb sdb"
        }
    ]
}

 

 
Please let know how to handle a "Group_ID": "abc efg_shs", which does not have any Account_ID in the response while mapping/importing the data.
 
Thanks & Regards,
Vidya 
4 REPLIES 4

rushikeshvartak
All-Star
All-Star

entIdPath is missing in acctEntParams

entIdPath :"Report_Entry.Group_ID"

Please share application.log


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

vmudagal
New Contributor
New Contributor

Hi, 

Few updates have been happened since the last comment. 

The updated code:

"acctEntParams": {
"connection": "workdayconnector",
"entTypes": {
"SecurityGroup": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "http",
"http": {
"url": "https://wd2-impl-services1.workday.com/ccx/service/customreport2/stjude7/ISU_INT5038_Saviynt/SAV_Sec...",
"httpMethod": "GET",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/json"
},

"listField": "Report_Entry",
"entIdPath": "Group_ID",
"acctIdPath": "Members_group[0].Account_ID",
"acctKeyField": "accountID",
"entKeyField": "entitlementID"
}
}
},

Result in the Saviynt UI: 

vmudagal_1-1656089971535.png

Response from the JSON for the GroupId(Finance_Auditor)

 
            "Group_ID""Finance_Auditor",
            "Members_group": [
                {
                    "Account_ID""26014"
                },
                {
                    "Account_ID""26026"
                },
                {
                    "Account_ID""26080"
                },
                {
                    "Account_ID""26099"
                },
            ],
            "Security_Group""Finance Auditor"
        },
 
Now we are able to access only the first accountID from the list of accountID's from the GroupId(Finance_Auditor)
Please let know is there any way to handle the list of AccountID's  being mapped to the GroupID in the saviynt UI. As of now only one AccountID is being mapped to the GroupId.
 
 
Thanks, 
Vidya
       

"acctIdPath": "#CONST#${List responseList = Members_group; int count = 0; int size = responseList.size(); Iterator iterator = responseList.iterator(); while (iterator.hasNext()){count++; Map dataMap = iterator.next(); if(count == size){return null}else {return Members_group[i].Account_ID}}}~#~char",


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

vmudagal
New Contributor
New Contributor

Hi Rushikesh, 

Tried the above code as well :

"acctEntParams": {
"connection": "workdayconnector",
"entTypes": {
"SecurityGroup": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "http",
"http": {
"url": "https://wd2-impl-services1.workday.com/ccx/service/customreport2/tenantname/username/SAV_SecurityGro...",
"httpMethod": "GET",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/json"
},

"listField": "Report_Entry",
"entIdPath": "Group_ID",
"acctIdPath": "#CONST#${List responseList = Members_group; int count = 0; int size = responseList.size(); Iterator iterator = responseList.iterator(); while (iterator.hasNext()){count++; Map dataMap = iterator.next(); if(count == size){return null}else {return Members_group[i].Account_ID}}}~#~char",
"acctKeyField": "accountID",
"entKeyField": "entitlementID"
}
}
}

 

getting the below error in bebug logs. 

io-443-exec-41] DEBUG controllers.HomeController - check session
2022-06-28/11:52:55.007 [{}] [quartzScheduler_Worker-2] DEBUG rest.RestProvisioningService -
2022-06-28/11:52:55.007 [{}] [quartzScheduler_Worker-2] DEBUG rest.RestProvisioningService - pullObjectsByRest - responseStatusCode ::200
2022-06-28/11:52:55.078 [{}] [quartzScheduler_Worker-2] DEBUG rest.RestProvisioningService - Entered getResponseHeaders method
2022-06-28/11:52:55.080 [{}] [quartzScheduler_Worker-2] DEBUG rest.RestProvisioningService - responseError : null
2022-06-28/11:52:55.080 [{}] [quartzScheduler_Worker-2] DEBUG rest.RestProvisioningService - isAuthError: false
2022-06-28/11:52:55.080 [{}] [quartzScheduler_Worker-2] DEBUG rest.RestProvisioningService - pullObjectsByRest - responseMap.size : 1
2022-06-28/11:52:55.081 [{}] [quartzScheduler_Worker-2] DEBUG rest.RestProvisioningService - pullObjectsByRest - objectList.size : 858
2022-06-28/11:52:55.082 [{}] [quartzScheduler_Worker-2] DEBUG rest.RestUtilService - Exception in RestUtil.getAt : java.lang.NumberFormatException: For input string: "i"
2022-06-28/11:52:55.083 [{}] [quartzScheduler_Worker-2] DEBUG println.PrintlnToLogger - Println :: | Error java.lang.NumberFormatException: For input string: "i"
2022-06-28/11:52:55.083 [{}] [quartzScheduler_Worker-2] DEBUG println.PrintlnToLogger - Println :: | Error  at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
2022-06-28/11:52:55.083 [{}] [quartzScheduler_Worker-2] DEBUG println.PrintlnToLogger - Println :: | Error  at java.lang.Integer.parseInt(Integer.java:580)
2022-06-28/11:52:55.083 [{}] [quartzScheduler_Worker-2] DEBUG println.PrintlnToLogger - Println :: | Error  at java.lang.Integer.parseInt(Integer.java:615)
2022-06-28/11:52:55.083 [{}] [quartzScheduler_Worker-2] DEBUG println.PrintlnToLogger - Println :: | Error  at java_lang_Integer$parseInt$0.call(Unknown Source)

 

 

Thanks, 

Vidya