Identity Broker Forum
Welcome to the community forum for Identity Broker.
Browse the knowledge base, ask questions directly to the product group, or leverage the community to get answers. Leave ideas for new features and vote for the features or bug fixes you want most.
Export Returns Entity Schema Validation Error
Previous Version: Microsoft Dynamics CRM Connector 4.1.1.1
Upgraded Version: Microsoft Dynamics CRM Connector 5.1.0.0
Management Agent Export Error:
System.Exception: A -2147204326 fault occurred with message A validation error occurred. The value of 'address3_addresstypecode' on record of type 'contact' is outside the valid range.. See the server logs for details.
[Microsoft.Crm.ObjectModel: Microsoft.Crm.ObjectModel.TargetAttributeValidationPlugin]
[fc743e7d-fbea-4695-bdb9-7d78334c8474: TargetAttributeValidationPlugin]
at Unify.Product.IdentityBroker.DynamicsCrmAgent.GetException(OrganizationServiceFault fault)
IdB Stack Trace
Request to retrieve logs.
Request to retrieve logs failed with message Collection was modified; enumeration operation may not execute.. Date: 31/05/2017. Skip: 0. Take: 10. Search: address3_addresstypecode. Duration: 00:00:03.7129126
Error details:
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
at System.Linq.Enumerable.<SkipIterator>d__4d`1.MoveNext()
at System.Linq.Enumerable.<TakeIterator>d__3a`1.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Unify.Framework.Logging.LoggingEngineNotifierDecorator.<>c__DisplayClass6_0.<ReadLogSearch>b__0()
at Unify.Framework.Notification.NotifierDecoratorBase.Notify[TResult](ITaskNotificationFactory notificationFactory, Func`1 function)
at Unify.Framework.Logging.LoggingEngineNotifierDecorator.ReadLogSearch(DateTime date, String search, Int32 skip, Int32 take)
at Unify.Product.IdentityBroker.IdentityServiceCollector.ReadLogSearchSkipTake(DateTime date, String search, Int32 skip, Int32 take)
at SyncInvokeReadLogSearchSkipTake(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
Confirmed this is a CRM/client specific issue and can be safely ignored.
The new ECMA 2.0 IdB MA export run profile returns "cd-error" after the IdB/CRM Connector upgrade (from v4.x to v5.1.x)
The new ECMA 2.0 IdB Mangement Agent Export Run Profile Returns "cd-error" after the IdB/CRM Connector Upgrade (from v4.x to v5.1.x)
Previous Version: Microsoft Dynamics CRM Connector 4.1.1.1
Upgraded Version: Microsoft Dynamics CRM Connector 5.1.0.0
IdB error logs
.Net
SqlClient Data Provider: System.Data.SqlClient.SqlException (0x80131904): Transaction (Process ID 56) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) ..... Error Number:1205,State:48,Class:13 |
Summary from Aneesh (private comment):
To recap, this issue is caused by imports and exports to CRM (though via different connectors) running at the same time and timing out. Curtis, you suggested running two operations in isolation. I reviewed the CRM Management Agents (MA) and I can see that this MA (Dynamics CRM – Export) is only used for exporting change back to the CRM and there is a separate MA called “Dynamics CRM – Users” is created to import changes from CRM. I am not sure why two separate management agents created instead of just one for both import and export operations. I will check with the client. If no real reason, I will recommend merging both MA’s into just one MA to avoid any concurrency issues.
Date handling changes
I have a date attribute in my Aurion Adapter called DateCommenced.
In the IdB UI it appears as 2010-05-24.
When it imports into MIM, it's a string type and is shown in the connector space as:
2010-05-24T00:00:00:000
When I look at FIM, (which we're replacing) it's also a string type, however it's shown in the connector space as:
2010-05-24
Has something changed in the handling of Dates between 3.x and 5.x?
Yes, this is a fix in v4.0 as per http://voice.unifysolutions.net/topics/499-support-date-format-in-ldif-that-is-recognised-by-fim-portal/ and https://unifysolutions.jira.com/browse/IDB-662.
Time Offset Flag Transformation throws error when no data present
The UI is displaying "Specified argument was out of the range of valid values. Parameter name: key" after configuring a Time Offset Flag Transformation. Looking at the data, there is nothing currently in the column, I suspect this might be causing the error.
There are two configured transformations:
<adapter name="TimeOffsetFlag" key="e761c890-313b-4b88-bfcf-272595dcf784">
<Extended offset="-P15DT10H" sourceColumn="DateCommenced" destinationColumn="EmployeeStarted" LesserValue="True" EqualValue="True" GreaterValue="False" NullValue="False" adjustForLocal="false" xmlns="" />
</adapter>
<adapter name="TimeOffsetFlag" key="00eaab5c-89e9-41b4-9728-e7b342d07db8">
<Extended offset="PT10H" sourceColumn="DateTerminated" destinationColumn="EmployeeTerminated" LesserValue="False" EqualValue="True" GreaterValue="False" NullValue="True" adjustForLocal="false" xmlns="" />
</adapter>
The first one foes not throw an error. The second one does.
Hi Matt,
Where is the UI displaying this error? Is it under the Transformations section, between a heading Time Offset Flag and its corresponding description? Please ensure that you don't have duplicate column names in your adapter, i.e. that there isn't already a column named DateTerminated. If there is, either rename the existing column or change the Target for the Time Offset Flag Transformation.
Object reference not set to an instance of an object error when attempting to retrieve schema
When trying to retrieve schema, MIM throws error below.
Log Name: Application Source: FIMSynchronizationService Date: 30/05/2017 8:44:54 AM Event ID: 6801 Task Category: Server Level: Error Keywords: Classic User: N/A Computer: dc1devfim01.dev.apra.gov.au Description: The extensible extension returned an unsupported error. The stack trace is: "Unify.Product.IdentityBroker.LdapOperationException: Object reference not set to an instance of an object. at Unify.Product.IdentityBroker.LdapConnection.SendRequest(ILdapRequest request) at Unify.Product.IdentityBroker.LdapConnection.GetSchema(String schemaDn) at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at System.Linq.Enumerable.Aggregate[TSource](IEnumerable`1 source, Func`3 func) at Unify.Product.IdentityBroker.LdapConnectionProxy.get_LdapSchema() at Unify.Product.IdentityBroker.LdapConnectionProxy.get_Schema() at Unify.Product.IdentityBroker.UnifyLdapConnectorTypeProxy.GetSchema(KeyedCollection`2 configParameters) at Unify.Product.IdentityBroker.UnifyLdapConnector.GetSchema(KeyedCollection`2 configParameters) Forefront Identity Manager 4.4.1459.0"Error in logs is as follows:
20170529,22:44:53,UNIFY Identity Broker,Security engine,Information,"Require an LDAP access level Request to require LDAP access level Read completed successfully.",Verbose 20170529,22:44:53,UNIFY Identity Broker,LDAP engine,Error,"Handling of LDAP schema request. Handling of LDAP schema request from user mim on connection 127.0.0.1:65135 for the server schema failed with error ""Ob ject reference not set to an instance of an object."". Duration: 00:00:00.",Normal 20170529,22:44:53,UNIFY Identity Broker,LDAP Engine,Error,"An error occurred on client from 127.0.0.1:65135. More detail s: Internal Server Error #11: System.NullReferenceException: Object reference not set to an instance of an object. at Unify.Product.IdentityBroker.SearchRequestHandlerBase.HandleRequest(IRfcLdapMessage message, CancellationToken tok en, Action`1 postAction) at Unify.Product.IdentityBroker.RequestHandlerAuditingDecorator.HandleRequest(IRfcLdapMessage message, CancellationTo ken token, Action`1 postAction) at Unify.Product.IdentityBroker.LDAPRequestHandlerSecurityDecorator.HandleRequest(IRfcLdapMessage message, Cancellati onToken token, Action`1 postAction) at Unify.Product.IdentityBroker.LDAPConnection.<RespondToMessageAsync>d__33.MoveNext()",Normal 20170529,22:44:53,UNIFY Identity Broker,LDAP engine,Information,"Handling of LDAP unbind request. Handling of LDAP unbind request received on connection mim to connect as user 127.0.0.1:65135 started.",Verbose 20170529,22:44:53,UNIFY Identity Broker,Security engine,Information,"Require an LDAP access level
Hi Matt,
Thanks for the feedback, I agree that the product could handle this more gracefully, and we'll take it into consideration.
For your immediate issue, you should be able to resolve this by removing the container corresponding to the previous container name and re-populating the adapter entity context.
"Sequence contains no elements" trying to retrieve schema
Trying to retrieve schema in MIM & getting the error below in event logs. MIM UI displays error Unable to retrieve schema. Error: Exception from HRESULT: 0x80231343
Log Name: Application
Source: FIMSynchronizationService
Date: 25/05/2017 3:35:21 PM
Event ID: 6801
Task Category: Server
Level: Error
Keywords: Classic
User: N/A
Computer: dc1devfim01.dev.apra.gov.au
Description:
The extensible extension returned an unsupported error.
The stack trace is:
"System.InvalidOperationException: Sequence contains no elements
at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
at RegExExtensions.RegExExtensions.Extract(String text, String pattern)
at Unify.Product.IdentityBroker.LdapAttributeDefinition..ctor(String definition)
at Unify.Product.IdentityBroker.LdapSchema.<>c.<.ctor>b__0_0(String attr)
at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at Unify.Product.IdentityBroker.LdapSchema..ctor(SearchResultEntry entry)
at Unify.Product.IdentityBroker.LdapConnection.GetSchema(String schemaDn)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.Aggregate[TSource](IEnumerable`1 source, Func`3 func)
at Unify.Product.IdentityBroker.LdapConnectionProxy.get_Schema()
at Unify.Product.IdentityBroker.UnifyLdapConnectorTypeProxy.GetSchema(KeyedCollection`2 configParameters)
Forefront Identity Manager 4.4.1459.0"
Identity Broker Service 5.1 Installation/Upgrade Setup Wizard Ended Prematurely
Identity Broker Service Installation/upgrade Setup Wizard Ended Prematurely. Here are the version details:
Current Version • Identity Broker Service v4.1.4 RTM x64
Target Version
• Identity Broker Service v5.1.0.2 RTM x64
Please see the attached screenshots.
Service just started fine. Indeed it is strange why the installer failed for the very first time. I will let you know if I see the similar behavior in the next environment (UAT). So for now, it can be closed. Thanks for your help. Cheers
How can I get adapter to recognise existence of key?
I have chosen not to use mapping on adapters which do not require write back into Aurion as it's much easier to configure. I am however getting an error when I try to use the Key. The Key is a required field, but Identity Broker does not recognise this due to the mapping. Error is below:
Error in adapter Aurion Schedules - Organisation distinguished name configuration: The DN component part 'UID=[OrganisationUnitNumber]' could not be executed as the field OrganisationUnitNumber is not required. An empty field would result in a DN of 'UID='.
Is it possible to resolve this, or do I need to go back to mapping?
You should be able to just update the field on the connector to be required. Unless it's generated in the target system - in which case you'll need a different DN, e.g. the entity id.
Unify.Service.Connect.exe using large amounts of RAM and unresponsive
The Unify Service.Connect process is currently using 786084KB RAM and is unresponsive. It's not writing to Logs and restarting the service has not killed the process.
PS C:\Unify> Get-Process -Name Unify.Service.Connect
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
209907 5995 2926564 786084 10,599.94 23692 0 Unify.Service.Connect
I have not seen this issue since the last update. Not sure why that is. No significant changes to the environment have occurred. Probably best to close it & Ill re-open if it arises again .
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>
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