0
Answered

Cannot retreive schema for Chris21 DET connector

Jack Cheng 2 months ago in UNIFYBroker/Frontier ichris/chris21 • updated 2 months ago 7

Chris21 DET Connector is configured as follow:

However, retrieving schema failed with the below error in the log:

20190628,03:22:53,UNIFYBroker,Logging Engine,Information,Log file started.,Minimal
20190628,03:22:53,UNIFYBroker,Connector Engine,Error,"The schema for 'c21 DET Connector' connector was not updated for the following reason: System.AggregateException: One or more errors occurred. ---> System.ArgumentException: An item with the same key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at Unify.Product.IdentityBroker.Chris21RecordtoChris21FieldDefinitionsAdapter.Transform(IChris21Record sourceValue, Boolean showTranslations)
at Unify.Product.IdentityBroker.Chris21Agent.d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Unify.Product.IdentityBroker.Chris21ConnectorBase.d__33.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at Unify.Product.IdentityBroker.Chris21ConnectorSchemaProvider.GetSchema(ISchemaProviderFactoryInformation factoryInformation)
at Unify.Product.IdentityBroker.ConnectorEngine.SchemaProviderResult(IOperationalConnector`1 operationalConnector, Func`2 selector, IEnumerable`1 appliedFields)
---> (Inner Exception #0) System.ArgumentException: An item with the same key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at Unify.Product.IdentityBroker.Chris21RecordtoChris21FieldDefinitionsAdapter.Transform(IChris21Record sourceValue, Boolean showTranslations)
at Unify.Product.IdentityBroker.Chris21Agent.d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Unify.Product.IdentityBroker.Chris21ConnectorBase.d__33.MoveNext()<---
",Normal

Same error with a new Unify.IdentityBroker database as well.

The Frontiner chris21 agent connects without any error.

Affected Versions:
Fixed by Version:

Answer

Answer

Run the following in the GTR form in chris21. This will run the same query the connector uses to retrieve its schema.

cbr="componentlist",screen="DET"
GOOD, I'M SATISFIED
Satisfaction mark by Jack Cheng 2 months ago
Under review

Hi Jack

This is most likely caused by chris21 returning multiple fields with the same name. Check that the chris21 instance is configured correctly.

I see Beau, there a way to use the c21connect.asp to inspect what fields are returned? Thank you.

Answer

Run the following in the GTR form in chris21. This will run the same query the connector uses to retrieve its schema.

cbr="componentlist",screen="DET"

Hi Beau, it turns out there are 5 duplicate fields, is there a way to filter them out? Maybe using the value in the Type column?

Thank you.

Hi Jack, you should talk to your chris21 administrator or Frontier rep to figure out why the duplicates are appearing.

Thank you Beau for pointing me in the right direction.

While the Chris21 admin is investigating the issue (fields with duplicate name), I am going to declare fields I need in the connector to get the setup going.

Thank you.