and more in a single search tool across platforms. Read the announcement here. |
04/22/2024 11:00 AM
Hi Team,
We have successfully integrated the Oracle Fusion application using REST connector and we are able to import the Account, Roles, Security Context and Securtiy Context Values. Also, we have sucessfully mapped the Accounts to Roles.
Here we are treating the Security Context and Security Context Values as child entitlements. We have successfully imported the child entitlements but unfortunately, we are unable to import the child entitlements relations. (We are able to import entitlement types but, facing problem with the entitlement hierarchical mapping.)
Please find the attached json that we are trying and postman response.
{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxxx/hcmCoreSetupApi/scim/Users?startIndex=1&count=500 ",
"httpContentType": "application/json",
"httpMethod": "GET",
"httpHeaders": {
"Authorization": "${access_token}"
}
},
"listField": "Resources",
"keyField": "accountID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
"accountID": "id~#~char",
"name": "userName~#~char",
"displayname": "displayName~#~char",
"customproperty1": "name.givenName~#~char",
"customproperty2": "name.familyName~#~char",
"customproperty3": "emails.value~#~char",
"customproperty4": "emails.type~#~char",
"customproperty5": "emails.primary~#~bool",
"customproperty6": "preferredLanguage~#~char",
"customproperty7": "externalId~#~char",
"customproperty11": "active~#~bool",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char",
"status": "active~#~char"
},
"pagination": {
"nextUrl": {
"nextUrlPath": "${response?.objectList?.size()>0?'https://xxxx/scim/Users?startIndex='+Math.addExact(response.completeResponseMap.itemsPerPage,response.completeResponseMap.startIndex)+'&count='+response.completeResponseMap.itemsPerPage:null }"
}
}
}
},
"acctEntMappings": {
"Roles": {
"listPath": "roles",
"idPath": "id",
"keyField": "entitlementID"
}
}
},
"entitlementParams": {
"processingType": "SequentialAndIterative",
"entTypes": {
"Roles": {
"entTypeOrder": 0,
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://xxxx/hcmCoreSetupApi/scim/Roles?startIndex=1&count=500 ",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "Resources",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "id~#~char",
"entitlement_value": "name~#~char",
"description": "description~#~char",
"displayName": "displayName~#~char",
"customproperty1": "id~#~char",
"customproperty2": "category~#~char"
},
"pagination": {
"nextUrl": {
"nextUrlPath": "${response?.objectList?.size()>0?'https://xxxxx/hcmCoreSetupApi/scim/Roles?startIndex='+Math.addExact(response.completeResponseMap.itemsPerPage,response.completeResponseMap.startIndex)+'&count='+response.completeResponseMap.itemsPerPage:null }"
}
},
"makeProcessingStatus": true,
"disableDeletedEntitlements": true
}
}
},
"SecurityContext": {
"entTypeOrder": 1,
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxxxx/fscmRestApi/resources/xx.xx.xx.xx/dataSecurities?fields=SecurityContext,SecurityContextValue,RoleCommonName,RoleNameCr&limit=25&offset=0 ",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "SecurityContext~#~char",
"entitlement_value": "SecurityContext~#~char"
},
"makeProcessingStatus": true,
"disableDeletedEntitlements": true
}
}
},
"SecurityContextValue": {
"entTypeOrder": 2,
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxxx/fscmRestApi/resources/xx.xx.xx.xx/dataSecurities?fields=SecurityContext,SecurityContextValue,RoleCommonName,RoleNameCr&limit=25&offset=0 ",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "SecurityContextValue~#~char",
"entitlement_value": "SecurityContextValue~#~char"
},
"makeProcessingStatus": true,
"disableDeletedEntitlements": true
}
}
}
}
},
"entMappingParams": {
"processingType": "SequentialAndIterative",
"entTypes": {
"Roles": {
"ent1KeyField": "entitlement_value",
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://xxxxx/fscmRestApi/resources/xx.xx.xx.xx/dataSecurities?fields=SecurityContext,SecurityContextValue,RoleCommonName,RoleNameCr&limit=25&offset=0 ",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"ent1IdPath": "RoleCommonName",
"ent2IdPath": "SecurityContext",
"ent2KeyField": "entitlementID",
"targetEntType": "SecurityContext",
"addDependentTask": true,
"removeDependentEntTask": true,
"mappingTypes": [
"ENTMAP",
"ENT2"
]
}
}
}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}
Postman Response for : https://xxxx/hcmCoreSetupApi/scim/Roles?startIndex=1&count=500
Postman Response for : https://xxxxx/fscmRestApi/resources/xx.xx.xx.xx/dataSecurities?fields=SecurityContext,SecurityContextValue,RoleCommonName,RoleNameCr&limit=25&offset=0
Thanks,
04/22/2024 07:23 PM
Does entitlement type name contains Space ?
04/23/2024 11:07 AM
Hi @rushikeshvartak,
No, it doesn't contain space.
04/23/2024 08:09 PM
Use either of one and validate
"ENTMAP",
"ENT2"
04/23/2024 11:42 PM - edited 04/23/2024 11:43 PM
Hello @ganimkt,
Use only ENT2 and try.
Thanks.
04/24/2024 03:17 AM
Hi @sudeshjaiswal & @rushikeshvartak
I have tried with only ENT2 and with only ENTMAP still it's not working.
04/24/2024 05:00 AM
Share json with ent2 and share logs
04/24/2024 06:32 AM
Hello @ganimkt ,
Can you please share the complete debug logs, log what you share is incomplete,
First run the account import and check the customproperty31 has values.
and after that run the access import job.
Thanks
04/24/2024 07:52 AM
All urls have space in end
04/24/2024 05:05 AM - last edited on 04/24/2024 05:50 AM by Sunil
Hi @rushikeshvartak,
Thanks for the prompt response.
Please find the attached logs.
Here is the JSON:
{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxxx/hcmCoreSetupApi/scim/Users?startIndex=1&count=500 ",
"httpContentType": "application/json",
"httpMethod": "GET",
"httpHeaders": {
"Authorization": "${access_token}"
}
},
"listField": "Resources",
"keyField": "accountID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
"accountID": "id~#~char",
"name": "userName~#~char",
"displayname": "displayName~#~char",
"customproperty1": "name.givenName~#~char",
"customproperty2": "name.familyName~#~char",
"customproperty3": "emails.value~#~char",
"customproperty4": "emails.type~#~char",
"customproperty5": "emails.primary~#~bool",
"customproperty6": "preferredLanguage~#~char",
"customproperty7": "externalId~#~char",
"customproperty11": "active~#~bool",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char",
"status": "active~#~char"
},
"pagination": {
"nextUrl": {
"nextUrlPath": "${response?.objectList?.size()>0?'https://xxxx/hcmCoreSetupApi/scim/Users?startIndex='+Math.addExact(response.completeResponseMap.itemsPerPage,response.completeResponseMap.startIndex)+'&count='+response.completeResponseMap.itemsPerPage:null }"
}
}
}
},
"acctEntMappings": {
"Roles": {
"listPath": "roles",
"idPath": "id",
"keyField": "entitlementID"
}
}
},
"entitlementParams": {
"processingType": "SequentialAndIterative",
"entTypes": {
"Roles": {
"entTypeOrder": 0,
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://xxxx/hcmCoreSetupApi/scim/Roles?startIndex=1&count=500 ",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "Resources",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "id~#~char",
"entitlement_value": "name~#~char",
"description": "description~#~char",
"displayName": "displayName~#~char",
"customproperty1": "id~#~char",
"customproperty2": "category~#~char"
},
"pagination": {
"nextUrl": {
"nextUrlPath": "${response?.objectList?.size()>0?'https://xxxx/hcmCoreSetupApi/scim/Roles?startIndex='+Math.addExact(response.completeResponseMap.itemsPerPage,response.completeResponseMap.startIndex)+'&count='+response.completeResponseMap.itemsPerPage:null }"
}
},
"makeProcessingStatus": true,
"disableDeletedEntitlements": true
}
}
},
"SecurityContext": {
"entTypeOrder": 1,
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxxx/fscmRestApi/resources/xx.xx.xx.xx/dataSecurities?fields=SecurityContext,SecurityContextValue,RoleCommonName,RoleNameCr&limit=25&offset=0 ",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "SecurityContext~#~char",
"entitlement_value": "SecurityContext~#~char"
},
"makeProcessingStatus": true,
"disableDeletedEntitlements": true
}
}
},
"SecurityContextValue": {
"entTypeOrder": 2,
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxxx/fscmRestApi/resources/xx.xx.xx.xx/dataSecurities?fields=SecurityContext,SecurityContextValue,RoleCommonName,RoleNameCr&limit=25&offset=0 ",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "SecurityContextValue~#~char",
"entitlement_value": "SecurityContextValue~#~char"
},
"makeProcessingStatus": true,
"disableDeletedEntitlements": true
}
}
}
}
},
"entMappingParams": {
"processingType": "SequentialAndIterative",
"entTypes": {
"Roles": {
"ent1KeyField": "entitlement_value",
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://xxxx/fscmRestApi/resources/xx.xx.xx.xx/dataSecurities?fields=SecurityContext,SecurityContextValue,RoleCommonName,RoleNameCr&limit=25&offset=0 ",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"ent1IdPath": "RoleCommonName",
"ent2IdPath": "SecurityContext",
"ent2KeyField": "entitlementID",
"targetEntType": "SecurityContext",
"addDependentTask": true,
"removeDependentEntTask": true,
"mappingTypes": [
"ENT2"
]
}
}
}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}
04/24/2024 05:08 AM
"addDependentTask": true,
"removeDependentEntTask": true,
this is not applicable for ent2
04/24/2024 05:58 AM
Hi @rushikeshvartak,
I have removed the "addDependentTask": true,
"removeDependentEntTask": true,
and then ran the access import still the issue isn't fixed.
04/24/2024 06:41 AM - edited 04/24/2024 06:57 AM
Hello @ganimkt
There is a space in the URL. Please remove the space and encode the special characters. If you still get the same issue, share the logs for this particular API call .
04/26/2024 12:26 PM
Hi @Vedanth-BK ,
Thank you for the suggestion, I have removed the space and ran the access import job still the issues isn't resolved.
Please find the attached logs.
Thanks,
Ganesh.
04/26/2024 12:32 PM
Logs are insufficient