Under review

Foreign Multivalued Group Transformation reports "Value cannot be null" for multivalued attribute with no members

Adrian Corston 1 year ago in UNIFYBroker Service updated 1 year ago 4

Please see attached Broker configuration.  The "MIM LMS Group Users" connector generates records for groups, with a multivalued field "PersonNumbers" that is then used by the "MIM LMS Person" adapter in a Foreign Multivalued Group Transformation to generate the DNs of the groups each user is a member of.  When a group has no members, running an Import All on the connector causes a "Value cannot be null" error to be logged.  If I change the source data to not include any groups with no PersonNumbers data then the error does not occur

As a workaround, I've inserted a dummy value into blank PersonNumbers field values as shown here:

I tried to replicate this issue in a simpler Broker instance, but I could not sorry.

Affected Versions:
Fixed by Version:

Here's the original PS connector code (bottom of the import script) which populates PersonNumbers field with no values and demonstrates the problem:

Hi guys, this is 3 months old now.  Any word on an investigation or a fix?

Under review

Hi Adrian

Sorry for the delayed response.

I was unable to reproduce this issue based on the description you provided. In attempting to do so I tried the following:

  • Setting the multi-value field to null: $entity['PersonNumbers'] = $null;
  • Setting the multi-value field to an empty array: $entity['PersonNumbers'] = @();
  • Not setting the multi-value field in the connector import script at all

I was able to produce the same error message you were seeing by setting the multi-value field to an array containing a null value: $entity['PersonNumbers'] = @($null);

Ensure that the multi-value field is being assigned either an array containing zero or more non-null values, $null or isn't assigned at all.

Thanks Beau, I appreciate the investigation.  I'll see if I can get time allocated to logon to the customer's site and check it out and see if that's what's going on.