Hello,
I have a Web Services source and can aggregate accounts successfully.
I created a Provisioning Plan/Policy and it is working for single-value String attributes, but it is not working (parsing) multi-valued attributes. It is only getting the first value.
Any idea what I am missing or how I can get it to work?
Thank you
Details:
My Provisioning Policy POST /beta/sources/<sourceID>/provisioning-policies
...
"usageType": "UPDATE",
"fields": [
{
"name": "companyName",
"transform": {
"type": "accountAttribute",
"attributes": {
"attributeName": "companyName",
"sourceName": "mySource"
}
},
"attributes": {},
"isRequired": true,
"type": "string",
"isMultiValued": false
},
{
"name": "roles",
"transform": {
"type": "accountAttribute",
"attributes": {
"attributeName": "roles",
"sourceName": "mySource"
}
},
"attributes": {},
"isRequired": true,
"type": "string",
"isMultiValued": true
}
]
In my Before Operation connector rule:
for (AccountRequest accReq : Util.iterate(provisioningPlan.getAccountRequests())) {
for (ProvisioningPlan.AttributeRequest attReq : Util.iterate(accReq.getAttributeRequests())) {
log.error(logPrefix + "attReq: " + attReq.getName() + " => " + attReq.getValue() + " (" + attReq.getValue().getClass() + ")");
}
Looking at the account in IDN - GET beta/accounts/<accountID>
"companyName": "myCompany",
"roles": [
"my_role:18",
"my_role:33",
"my_role:23"
]
In the ccg.log, I can see companyName (type String), but roles I see only the first value (printed out by the Before Operation rule)
"WSBO - attReq: companyName => myCompany (class java.lang.String)"
"WSBO - attReq: roles => my_role:18 (class java.lang.String)"