We have an internal home made application which only connection method for provisioning is a SOAP WebService with one operation for create and update accounts. However this web service does not include any read operation for either accounts or entitlements.
Solution
One way I think I could solve this is by configuring the aggregate group operation with the provisioning endpoint of the web service and send an invalid request. Then implement an after operation rule which will have harcoded the list of entitlements that the application requires.
Has someone created an integration like this?
Is it possible to modify the processedResponseObject in the after operation rule and add a list of hard code entitlements?
Yes, you can do something like this. If you just have the operation call something, you can setup a Web Services After Operation rule to create āfakeā entitlements. Here is an example of what this rule could look like.
Map newEntitlement = new HashMap();
List perms = new ArrayList();
newEntitlement.put("id", 1);
newEntitlement.put("name", "New Entitlement");
perms.add(newEntitlement);
updatedMapInfo.put("data", perms);
return updatedMapInfo;
This creates one new entitlement with the id=1 and the name of āNew Entitlementā. You can add in any attributes needed, just make sure they are also in the corresponding entitlement schema.
An even ābetterā option is not to have it hard-coded in the rule, but let the rule get an attribute from the source (that you create yourself). Then fill that attribute with the entitlement value(s) that you want to return on the source. That way you can use the same rule across different sources.
Hi Edwin, thanks a lot. Thatās actually a great idea, so that the manintenance of the entitlements would be easier and no need to modify the code. I will look into it.