Aurion Position import fails because key has been duplicated
Created a connector for Aurion Positions to match the one if Idb3 & getting a duplicate key error. I can't see any duplicates in the data when I trace the traffic using Wireshark.
20170522,22:44:43,UNIFY Identity Broker,Connector,Information,"Request to import all entities from connector. Request to import all entities from connector Aurion Position.",Normal 20170522,22:44:43,UNIFY Identity Broker,Connector,Information,"Import all entities from connector completed. Import all entities from connector Aurion Position return 671 entities. Duration: 00:00:00",Normal 20170522,22:44:43,UNIFY Identity Broker,Connector Processor,Information,"Connector Processing started. Connector Processing started for connector Aurion Position (page 1)",Normal 20170522,22:44:44,UNIFY Identity Broker,Connector Processor,Information,"Connector processing failed. Connector Processing page 1 for connector Aurion Position failed with reason The key L32190N has been duplicated.. Duration: 00:00:00.2500002. Error details: System.ArgumentException: The key L32190N has been duplicated. at Unify.Product.IdentityBroker.EntityRepositoryExtensions.DuplicateKeyBase(MultiKeyValue`1 arg1) at Unify.Framework.Collections.EnumerableExtensions.ToDictionaryWithKeyClashError[TKey,TValue,TOriginal](IEnumerable`1 originalEnumerable, Func`2 keySelector, Func`2 valueSelector, Action`3 duplicateAction) at Unify.Product.IdentityBroker.EntityRepositoryExtensions.ConvertConnectorEntitiesWithRepositoryEntities(IEnumerable`1 connectorEntities, IMultiKey`1 schemaKey, Func`2 retrieveEntities, Guid connectorId, IEnumerable`1 originalEntities, IHashSet`1 seenKeys) at Unify.Product.IdentityBroker.EntityRepositoryExtensions.ConvertConnectorEntitiesWithRepositoryEntities(IEnumerable`1 connectorEntities, IMultiKey`1 schemaKey, IKnownEntityContextBase`3 context, Guid connectorId, IEnumerable`1 originalEntities, IHashSet`1 seenKeys) at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.PerformChangeDetectionOnConnectorEntityPage(IEnumerable`1 connectorEntities, Int32& index, Int32 entitiesProcessedSoFar, IEntityChangesReportGenerator`2 reportGenerator, IHashSet`1 seenKeys) at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.<>c__DisplayClass11_0.<performchangedetection>b__0(IEnumerable`1 page) at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.ThreadsafeItemEvaluator.Evaluate()",Normal 20170522,22:44:44,UNIFY Identity Broker,Change detection engine,Error,"Change detection engine import all items failed. Change detection engine import all items for connector Aurion Position failed with reason An error occurred while evaluating a task on a worker thread. See the inner exception details for information.. Duration: 00:00:10.7189045 Error details: Unify.Framework.EvaluatorVisitorException: An error occurred while evaluating a task on a worker thread. See the inner exception details for information. ---> System.ArgumentException: The key L32190N has been duplicated. at Unify.Product.IdentityBroker.EntityRepositoryExtensions.DuplicateKeyBase(MultiKeyValue`1 arg1) at Unify.Framework.Collections.EnumerableExtensions.ToDictionaryWithKeyClashError[TKey,TValue,TOriginal](IEnumerable`1 originalEnumerable, Func`2 keySelector, Func`2 valueSelector, Action`3 duplicateAction) at Unify.Product.IdentityBroker.EntityRepositoryExtensions.ConvertConnectorEntitiesWithRepositoryEntities(IEnumerable`1 connectorEntities, IMultiKey`1 schemaKey, Func`2 retrieveEntities, Guid connectorId, IEnumerable`1 originalEntities, IHashSet`1 seenKeys) at Unify.Product.IdentityBroker.EntityRepositoryExtensions.ConvertConnectorEntitiesWithRepositoryEntities(IEnumerable`1 connectorEntities, IMultiKey`1 schemaKey, IKnownEntityContextBase`3 context, Guid connectorId, IEnumerable`1 originalEntities, IHashSet`1 seenKeys) at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.PerformChangeDetectionOnConnectorEntityPage(IEnumerable`1 connectorEntities, Int32& index, Int32 entitiesProcessedSoFar, IEntityChangesReportGenerator`2 reportGenerator, IHashSet`1 seenKeys) at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.<>c__DisplayClass11_0.<performchangedetection>b__0(IEnumerable`1 page) at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.ThreadsafeItemEvaluator.Evaluate() --- End of inner exception stack trace --- at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.CheckForException() at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.WaitForCompletedThreads() at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.Visit() at Unify.Framework.Visitor.VisitEvaluateOnThreadPool[T](IEnumerable`1 visitCollection, Action`2 visitor, Int32 maxThreads) at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.PerformChangeDetection(IEnumerable`1 connectorEntities) at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.ImportAllChangeProcess() at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.RunBase() at Unify.Framework.DefinedScopeJobAuditTrailJobDecorator.Run() at Unify.Product.IdentityBroker.ConnectorJobExecutor.<>c__DisplayClass30_0.<run>b__0() at Unify.Framework.AsynchronousJobExecutor.PerformJobCallback(Object state)",Normal</run></performchangedetection></performchangedetection>
Answer
3.1
communicator uri="http://ultdevapp13.dev.apra.gov.au/aurdev10/servlet/services/ev397_aurion_ws?wsdl" credentials="DefaultCredentials" proxy="Default" timeout="00:05" />
<securityUser user="unify" password="cut" />
<apiSchema name="AQT_Output" type="Parent" queryId="QRY_UNIFY_POS">
5.1
communicator credentialsOptions="Default" uri="http://ultdevapp13.dev.apra.gov.au/aurdev10/servlet/services/ev397_aurion_ws?wsdl" ignoreCertificateErrorsLevel="None" preauthenticate="false" useDefaultTimeout="false" timeout="PT10M" proxyOptions="None" proxyCredentialsOptions="None" />
<securityUser user="unify" securePassword="cut==" />
<queries>
<query queryId="QRY_UNIFY_POS" />
</queries>
The data retrieved by SOAPUI contains 2 positions with the same code as per the error in 5.1.
Has the handling of this scenario in IdB changed? I'm interested to know why 3.1 does not throw an error.
Customer support service by UserEcho
The data retrieved by SOAPUI contains 2 positions with the same code as per the error in 5.1.
Has the handling of this scenario in IdB changed? I'm interested to know why 3.1 does not throw an error.