0
Fixed

On reflection: Byte array contains invalid string characters

André van der Westhuizen 9 years ago updated by anonymous 8 years ago 8

Create an Adapter for Adv_Worx_Person successfully with now additional transformation, Run "Generate Change Token" and there are 290 Pending Changes but 0 Processed Entity Count.
Check the log files and found the following error:

Request to reflect change entities of the adapter.
Request to reflect change entities of the Adv_Worx_Person (7fb73121-2311-4dfd-ad8f-ef1512ffc9fb) adapter errored with message: Byte array contains invalid string characters.. Duration: 00:00:00.2812421
Error details:
System.Exception: Byte array contains invalid string characters.
 at Unify.Product.IdentityBroker.Asn1OctetStringBase.StringValue()
 at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
 at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
 at Unify.Product.IdentityBroker.LDAPChangeAdd.Format()
 at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
 at System.String.Join(String separator, IEnumerable`1 values)
 at Unify.Product.IdentityBroker.ChangeReportToChangeLogAdapter.<HandleAdds>d__2f.MoveNext()
 at Unify.Product.IdentityBroker.ChangeReportToChangeLogAdapter.<Transform>d__0.MoveNext()
 at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
 at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
 at Unify.Product.IdentityBroker.Adapter.ReflectChanges()
 at Unify.Product.IdentityBroker.AdapterNotifierDecorator.ReflectChanges()
 at Unify.Product.IdentityBroker.ReflectAdapterOnChangeDueJob.<RunBase>b__0(IOperationalAdapter adapter)

screenshot-2.png
Unify.IdentityBroker.LDAP.Shared.dll

Hi Andre,
Could you please attach your current extensibility files? It would also be helpful to see some examples of what kind of data you have in your connector. Screenshots of the connector entity search would be fine.

André van der Westhuizen, please run the following against the Identity Broker v5 database and attach the output here:

SELECT TOP 100 *
FROM EntityValue
WHERE StringValue != CAST(StringValue AS varchar(MAX))

Run the query and it returned 0 rows:

I've attached an updated DLL. Could you place it in <IdB install dir>\Services directory, restart the IdB service and let me know if the adapter reflects the entities.

Hi Beau that fixed the issue, the Processed Entity Count is now 290

The patch has fixed the issue. Beau Harrison will continue testing.

Thanks André van der Westhuizen.