My webservice create operation expects JSON body in the below format along with the list of roles to add. Could you please let me know how I can customize the provisioning plan to accommodate this?
Are you transforming the JSON input into a ProvisioningPlan object yourself in your API? If so, log the XML of the plan you’re constructing and trying to execute.
Also, the JSON you provided does seem to be missing a lot of context needed to construct a provisioning plan, like target Identity, target Application, whether it’s an account Create or Modify, etc.
Finally, if this plan is intended for a target application (one managed by IIQ and you’re using this to trigger IIQ provisioning), make sure that the roles attribute in that app’s Account schema is flagged as multi (multi-valued).
What type of connector are you using for this application? My guess would probably be the IIQ Web Services connector. If that’s the case, could you share your Web Service Create Operation template?
That’s probably a mix of both your rule logic, as well as your JSON request template. In the rule, I’d try adding your reformatted roles to the plan as a plan attribute (via plan.put(Sting key, Object value) (not forgetting to save the updated plan before exiting the rule) and try referencing that new plan attribute in your JSON request template.