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.
No ratings
SB
Saviynt Employee
Saviynt Employee

Question: I am working on configuring a SOAP connection for grant and revoke access and I have calls that depend on the entitlement ID rather than their values. I have been using the allEntitlementMap variable for the entitlement type I need the entitlement value for all requested/current 'Role' Entitlements. 

 
For the other entitlement type ('Entity') I need the new entitlements ID's. The below variable is advertised in the SOAP Connector Guide.
as-> newEntitlementMap: Specifies values to map entitlements for new access (grant or revoke), where the key is "Entitlement type name", and value is "list of entitlement values".
 
Is there any way we can get the entitlement ID's for all of the new entitlements of a specific type? 
 
I've been looking on forums and through the documentation but not found any options to get this information. Please let me know!
 
Response: Currently we can only pass the entitlement_value for assigned+new entitlements; other columns are not supported. If it is just one (new) ent - then all entitlement columns can be passed.
For passing assigned+new entitlements - ${allEntitlementMap} is the variable - where key is entitlement_type name and value is list of entitlement_values (string only)
 
Below is an example of sending two calls by type
({  "CONNECTION": "Conn2",
  "REQUESTXML": "${newEntitlementMap.get('ENTTYPE1')?.size() > 0 ? '<soapenv:Envelope><soapenv:Header></soapenv:Header><soapenv:Body><roles>' + newEntitlementMap.get('ENTTYPE1').each{'<rolename>'+it+'</rolename>'}.join('') + '</roles>${PHONENUMBER}</soapenv:Body></soapenv:Envelope>' : ''}",
  "SOAPACTION": "soap.action.string",
  "RESPONSEMAPPING": {
    "TABLETYPE2.COLUMNNAME1": "XML.Response.Path.To.Attribute2"
  }},
{  "CONNECTION": "Conn2",
  "REQUESTXML": "${newEntitlementMap.get('ENTTYPE2')?.size() > 0 ? '<soapenv:Envelope><soapenv:Header></soapenv:Header><soapenv:Body><roles>' + newEntitlementMap.get('ENTTYPE1').each{'<rolename>'+it+'</rolename>'}.join('') + '</roles>${PHONENUMBER}</soapenv:Body></soapenv:Envelope>' : ''}",
  "SOAPACTION": "soap.action.string",
  "RESPONSEMAPPING": {
    "TABLETYPE2.COLUMNNAME1": "XML.Response.Path.To.Attribute2"
  }}}
where ENTTYPE1 and ENTTYPE2 are entitlement types. the first call will run for ENTTYPE1. second call is for ENTTYPE2.
Version history
Last update:
‎02/21/2023 07:34 AM
Updated by:
Saviynt Employee
Contributors