and more in a single search tool across platforms. Read the announcement here. |
05/19/2023 04:30 AM
Hi Team,
I am trying to remove access for a REST based application, from postman removal is successful,from Saviynt, its throwing error.
Its a SAP based application which we are doing from REST connector, over SAP documentation to remove Entitlements(type Roles)->>
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [{
"op": "remove",
"path": "urn:ietf:params:scim:schemas:extension:spend:2.0:Role:roles[roleName eq \"EXP_ATTENDEE_ADMIN\"]"
}]
}
We are using:
{
"call": [{
"name": "Roles",
"connection": "userAuth",
"url": "https://us2.api.concursolutions.com/profile/spend/v4/Users/***************",
"httpMethod": "PATCH",
"httpParams": {
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [{
"op": "remove",
"path": "urn:ietf:params:scim:schemas:extension:spend:22~dot#0:Role:roles[roleName eq \"EXP_ATTENDEE_ADMIN\"]"
}]
},
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"successResponses": {
"statusCode": [200, 201]
}
}]
}
AND
{
"call": [{
"name": "Roles",
"connection": "userAuth",
"url": "https://us2.api.concursolutions.com/profile/v4/Users/****************************",
"httpMethod": "PATCH",
"httpParams": {
"Operations": [{
"op": "remove",
"path": "urn:ietf:params:scim:schemas:extension:spend:2~dot#0:Role:roles[roleName eq \"EXP_ATTENDEE_ADMIN\"]"
}]
},
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"successResponses": {
"statusCode": [200, 201]
}
}]
}
and
{
"call": [{
"name": "Roles",
"connection": "userAuth",
"url": "https://us2.api.concursolutions.com/profile/v4/Users/***********************",
"httpMethod": "PATCH",
"httpParams": "{\"user\": {\"custom_role_id\": ${entitlementValue.entitlementID}}}",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"successResponses": {
"statusCode": [200, 201]
}
}]
}
Its not working and throwing error.
message:No signature of method: com.saviynt.provisoning.rest.RestUtilService.getDynamicBindString() is applicable for argument types: (java.util.LinkedHashMap, java.util.HashMap) values: [[Operations:[[op:remove, path:urn:ietf:params:scim:schemas:extension:spend:2~dot#0:Role:roles[roleName eq "EXP_ATTENDEE_ADMIN"]]]]
with the last json throwing error->Unrecognized token 'EXP_ATTENDEE_ADMIN': was expecting ('true', 'false' or 'null')
Can anyone please tell me how we can resolve this?
Regards,
Atrayee Dutta
Solved! Go to Solution.
05/21/2023 10:53 PM
Hello @AtrayeeDutta.,
Can you please try another role, whose name doesn't contain ADMIN?
Thanks
05/21/2023 11:49 PM
With other Roles also its the same. Is the RemoveAccess json correct?for this function?
Regards,
Atrayee
05/22/2023 01:54 AM
Hi @AtrayeeDutta
Please try using the below httpParams, and if that fails to resolve the issue, share a screenshot of the request body for the Remove Access API from Postman.
"httpParams": "{\"schemas\":[\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"],\"Operations\":[{\"op\":\"remove\",\"path\":\"urn:ietf:params:scim:schemas:extension:spend:2.0:Role:roles[roleName eq \\\"${entitlementValue.entitlementID}\\\"]\"}]}",
Thank you
Vedanth
05/22/2023 06:56 AM
Thank you Vedanth, it worked.