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.
Unable to create Event Source in Windows Server 2008
Win Event Loggers are unable to create log entries in Windows Server 2008.
This should be resolved as this means start up errors are not able to be logged on services, or Password Reset.
e.zip
A question about transformations
I've looked at the transformation pages already.
My question is
If you have two tables: People and Roles. There's a one to many relationship ie. a person can have many roles.
Is there a transformation that can return distinct People with a multivalued attribute that contains each Role? I think the answer is no but I'm not 100% certain and I don't want to advise the wrong thing.
Check transformation fields upon start up to avoid getting configuration error during operations
The following occurs if a field is populated twice by transformations:
20110104,01:38:47,Get changes from connector completed.,Connector,Information,Get changes from connector Chris21 Termination Connector reported 1 changes. Duration: 00:00:00,Normal 20110104,01:38:47,Change detection engine poll completed.,Change detection engine,Information,Change detection engine poll for connector Chris21 Termination Connector returned 0 possible changes. Duration: 00:00:00.4375000,Normal 20110104,01:38:50,Started processing changes register items.,Change detection engine,Information,Started processing changes register items for connector Chris21 Termination Connector.,Normal 20110104,01:38:50,Changes register item processing on failed.,Change detection engine,Warning,"Changes register item processing on connector Chris21 Termination Connector failed with reason The column posstart is a pre-existing column. Please check your configuration before continuing.. Duration: 00:00:00 Error details: Unify.Framework.AdapterColumnException: The column posstart is a pre-existing column. Please check your configuration before continuing. ---> 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 System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at Unify.Framework.AdapterColumnSources.Add(IAdapterEntityTransformationFactoryContribution contribution) --- End of inner exception stack trace --- at Unify.Framework.AdapterColumnSources.Add(IAdapterEntityTransformationFactoryContribution contribution) at Unify.Framework.AttributeMapper.<>c__DisplayClass3.<AddContributingAdapterTransformation>b__2(KeyValuePair`2 mapping) at Unify.Framework.Visitor.<>c__DisplayClass1`1.<Visit>b__0(T item, Int32 index) at Unify.Framework.Visitor.Visit[T](IEnumerable`1 visitCollection, Action`2 visitor) at Unify.Framework.Visitor.Visit[T](IEnumerable`1 visitCollection, Action`1 visitor) at Unify.Framework.AttributeMapper.AddContributingAdapterTransformation(IAdapterColumnSources contributingDictionary, Func`3 factoryContribution) at Unify.Framework.EntityDistinguishedNameRelationMapperValueAdapterFactoryBase.ApplyChangeDetectionColumnInformation(IAdapterColumnSources columnInformation) at Unify.Framework.EntityChainAdapterFactory.ApplyChangeDetectionColumnInformation(IAdapterColumnSources columnInformation) at Unify.Framework.AdapterEngine.CreateColumnSources(IAdapterEntityTransformationFactory factory, IEntitySchema baseSchema, Guid baseConnectorId) at Unify.Framework.AdapterEngine.<>c__DisplayClass14.<CreateAdapter>b__12() at Unify.Framework.ChainedTransformationChangeProcessor.PublishChange(IEnumerable`1 changedEntities, DateTime changeProcessTime, ICollection`1 changeRecords) at Unify.Framework.ChainedTransformationChangeProcessor.ProcessChangeReport(IDictionaryTwoPassDifferenceReport`4 changesReport, DateTime changeProcessTime) at Unify.Framework.ChangeReportProcessor.<>c__DisplayClassc.<ProcessCurrentReport>b__b(ITransformationChangeProcessor processor) at Unify.Framework.Visitor.<>c__DisplayClass1`1.<Visit>b__0(T item, Int32 index) at Unify.Framework.Visitor.Visit[T](IEnumerable`1 visitCollection, Action`2 visitor) at Unify.Framework.Visitor.Visit[T](IEnumerable`1 visitCollection, Action`1 visitor) at Unify.Framework.ChangeReportProcessor.CreateAndProcessReport[T](IEnumerable`1 adapterTransformationProcessors, IEnumerable`1 sourceEnumerable, DateTime changeTime, Action`2 addAction) at Unify.Framework.ChangeReportProcessor.ProcessReport(IChangeReportProcessingRequest request) at Unify.Framework.Visitor.<>c__DisplayClass1`1.<Visit>b__0(T item, Int32 index) at Unify.Framework.Visitor.Visit[T](IEnumerable`1 visitCollection, Action`2 visitor) at Unify.Framework.Visitor.Visit[T](IEnumerable`1 visitCollection, Action`1 visitor) at Unify.Framework.ChangeReportProcessor.RunBase() at Unify.Framework.JobBase.Run() at Unify.Framework.AsynchronousJobExecutor.PerformJobCallback(Object state)",Normal
It is proposed to give a better error message, and upon start-up of Identity Broker, for this error.
Please allow Right-click Copy in Log viewer
Please allow right click, copy in the context menu on the log viewer. Currently without the split screen there is a lot of copying. Further, when providing feedback to the Product Team it is essential to copy the full error message.
Control C works but thats because I'm a keyboard junkie. A lot of young people would prefer a menu option.
Empty string fields cause a DN generator issues when they are used as key generator
When an empty or null string field is used as part of a generated DN for an adapter, they cause a ArgumentOutOfRangeException from the DNGenerators.
Suggestion is to supply a default value for this situation, or supply a better error message (or both).
Confirming delta import from connector throws exception
When attempting a confirming delta import delta sync after a successful export, the following exception is thrown in the new Aurion demo environment (FIM, using Windows 2k8). This is thrown as a stopped-extension-dll-exception in FIM. According to Patrick, this error has not been seen before in other environments. It has been remedied by performing a confirming full import full sync instead.
The extensible extension returned an unsupported error.
The stack trace is:
"System.ServiceModel.CommunicationException: An error occurred while receiving the HTTP response to http://localhost:59990/IdentityBroker/RemoteXmlAdapter.svc. This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details. ---> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
— End of inner exception stack trace —
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead)
— End of inner exception stack trace —
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
— End of inner exception stack trace —
Server stack trace:
at System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason)
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at 0:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Unify.Framework.ILDIFAdapter.ImportChanges(Guid adapterId)
at Unify.Framework.IdentityBrokerManagementAgentProxy.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String& customData)
at Unify.Framework.IdentityBrokerManagementAgent.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String& customData)
Forefront Identity Manager 4.0.3531.2"
WCF logging should be enabled to diagnose the true error.
Specified argument was out of the range of valid values.
All rows in the view have a value in EMPLID - The attribute used for the DN.
Warning - The following occurred in module: Adapter Adapter import all entities for adapter failed. Adapter import all entities for adapter e14dde8a-73ff-4723-acbd-b34f5cb38ac0 failed with reason One or more errors occurred.. Duration: 00:00:01.0661066 Error details: System.AggregateException: One or more errors occurred. ---> System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: attributeValue at Unify.Framework.IO.DistinguishedNameComponent..ctor(DNAttributeType attributeType, String attributeValue) at Unify.Product.IdentityBroker.FieldTemplateDistinguishedNameComponentExecutor`2.Get(TEntity entity) at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext() at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source) at Unify.Framework.IO.DistinguishedName..ctor(IEnumerable`1 components) at Unify.Product.IdentityBroker.TemplateDistinguishedNameExecutor`2.DistinguishedName(TEntity entity) at Unify.Product.IdentityBroker.DistinguishedNameGeneratorTransformation.Transform(IEntity sourceValue) at System.Linq.Parallel.PartitionedDataSource`1.ListContiguousIndexRangeEnumerator.MoveNext(T& currentElement, Int32& currentKey) at System.Linq.Parallel.PipelineSpoolingTask`2.SpoolingWork() at System.Linq.Parallel.SpoolingTaskBase.Work() at System.Linq.Parallel.QueryTask.BaseWork(Object unused) at System.Threading.Tasks.Task.Execute() --- End of inner exception stack trace --- at System.Linq.Parallel.QueryTaskGroupState.QueryEnd(Boolean userInitiatedDispose) at System.Linq.Parallel.AsynchronousChannelMergeEnumerator`1.MoveNextSlowPath() at System.Linq.Parallel.QueryOpeningEnumerator`1.MoveNext() at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) at System.Linq.Enumerable.Aggregate[TSource,TAccumulate](IEnumerable`1 source, TAccumulate seed, Func`3 func) at Unify.Framework.AggregateArrayedValueAdapter`2.Transform(TElement[] baseValue) at System.Linq.Enumerable.<>c__DisplayClass12`3.<CombineSelectors>b__11(TSource x) at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__19`1.MoveNext() at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__19`1.MoveNext() at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext() at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__19`1.MoveNext() at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__19`1.MoveNext() at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at Unify.Framework.Collections.ActionOnExceptionEnumerator`1.MoveNext() at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__19`1.MoveNext() at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext() at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at Unify.Framework.Collections.ActionOnExceptionEnumerator`1.MoveNext() at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__19`1.MoveNext() at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext() at System.Linq.Enumerable.<ConcatIterator>d__71`1.MoveNext() at Unify.Framework.IO.LDIFComponentFileGenerator`1.GenerateFile(TextWriter writer, IEnumerable`1 entries) at Unify.Product.IdentityBroker.LDIFAdapterBase.<>c__DisplayClass14`1.<CreateLDIFComponentStream>b__13(Stream stream) at Unify.Framework.IO.LazyEvaluationStream.Evaluate(Object obj) ---> (Inner Exception #0) System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: attributeValue at Unify.Framework.IO.DistinguishedNameComponent..ctor(DNAttributeType attributeType, String attributeValue) at Unify.Product.IdentityBroker.FieldTemplateDistinguishedNameComponentExecutor`2.Get(TEntity entity) at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext() at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source) at Unify.Framework.IO.DistinguishedName..ctor(IEnumerable`1 components) at Unify.Product.IdentityBroker.TemplateDistinguishedNameExecutor`2.DistinguishedName(TEntity entity) at Unify.Product.IdentityBroker.DistinguishedNameGeneratorTransformation.Transform(IEntity sourceValue) at System.Linq.Parallel.PartitionedDataSource`1.ListContiguousIndexRangeEnumerator.MoveNext(T& currentElement, Int32& currentKey) at System.Linq.Parallel.PipelineSpoolingTask`2.SpoolingWork() at System.Linq.Parallel.SpoolingTaskBase.Work() at System.Linq.Parallel.QueryTask.BaseWork(Object unused) at System.Threading.Tasks.Task.Execute()<--- ---> (Inner Exception #1) System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: attributeValue at Unify.Framework.IO.DistinguishedNameComponent..ctor(DNAttributeType attributeType, String attributeValue) at Unify.Product.IdentityBroker.FieldTemplateDistinguishedNameComponentExecutor`2.Get(TEntity entity) at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext() at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source) at Unify.Framework.IO.DistinguishedName..ctor(IEnumerable`1 components) at Unify.Product.IdentityBroker.TemplateDistinguishedNameExecutor`2.DistinguishedName(TEntity entity) at Unify.Product.IdentityBroker.DistinguishedNameGeneratorTransformation.Transform(IEntity sourceValue) at System.Linq.Parallel.PartitionedDataSource`1.ListContiguousIndexRangeEnumerator.MoveNext(T& currentElement, Int32& currentKey) at System.Linq.Parallel.PipelineSpoolingTask`2.SpoolingWork() at System.Linq.Parallel.SpoolingTaskBase.Work() at System.Linq.Parallel.QueryTask.BaseWork(Object unused) at System.Threading.Tasks.Task.Execute()<--- ---> (Inner Exception #2) System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: attributeValue at Unify.Framework.IO.DistinguishedNameComponent..ctor(DNAttributeType attributeType, String attributeValue) at Unify.Product.IdentityBroker.FieldTemplateDistinguishedNameComponentExecutor`2.Get(TEntity entity) at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext() at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source) at Unify.Framework.IO.DistinguishedName..ctor(IEnumerable`1 components) at Unify.Product.IdentityBroker.TemplateDistinguishedNameExecutor`2.DistinguishedName(TEntity entity) at Unify.Product.IdentityBroker.DistinguishedNameGeneratorTransformation.Transform(IEntity sourceValue) at System.Linq.Parallel.PartitionedDataSource`1.ListContiguousIndexRangeEnumerator.MoveNext(T& currentElement, Int32& currentKey) at System.Linq.Parallel.PipelineSpoolingTask`2.SpoolingWork() at System.Linq.Parallel.SpoolingTaskBase.Work() at System.Linq.Parallel.QueryTask.BaseWork(Object unused) at System.Threading.Tasks.Task.Execute()<---
idB 5 Import changes not being processed to adapter when the adapter is disabled
Hi Product team,
Import changes are not being processed to adapters when the adapter is disabled.
Should this be processing regardless of if the adapter is enabled/disabled?
Happy to provide screenshots and logs if required
Delta Imports from IDB on LDAP Groups Consistently Fail with Sequence contains more than one element error.
Hi Gents,
Interesting one - we're consistently seeing the below error while running delta imports from IDB into FIM, on the LDAP Groups partition.
"System.InvalidOperationException: Sequence contains more than one element at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source) at Unify.Product.IdentityBroker.ImportProxy.ChangesToAttributeChange(ObjectModificationType modType, IGrouping`2 changes, AttributeType desiredType) at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext() at Unify.Product.IdentityBroker.ExtensionMethods.Visit[TSource](IEnumerable`1 source, Action`1 visitor) at Unify.Product.IdentityBroker.ImportProxy.EntryToDeltas(SearchResultEntry searchEntry) at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext() at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext() at Unify.Product.IdentityBroker.ExtensionMethods.Take[TSource](IEnumerator`1 source, Int32 count, IList`1& items) at Unify.Product.IdentityBroker.ExtensionMethods.<Page>d__0`1.MoveNext() at Unify.Product.IdentityBroker.ImportProxy.Import(GetImportEntriesRunStep importRunStep) Forefront Identity Manager 4.1.3646.0"
Note this is the same error noted in UNINWCSTL-1, however this is not a DN issue.
Nothing is noted in the IDB logs around this, although I have attached a Diagnostic log taken while this occurred.
In investigating, i noted that initially the delta's seemed to be working fine, and then started failing from a specific point - notably 2nd Oct, 2:05 am.
I looked at the IDB ChangeLog table for changes on this adapter around this time, abd found some interesting entries:
ChangeLogKey, AdapterId, ChangeType, ChangeTimestamp, TargetDistinguishedName, NewDistinguishedName, Changes 1868584, 65F663DB-076A-4630-92C2-6FE82BD5FE95, 2, 2015-10-01 16:14:14.1352367, UID=e5453054-7ba4-460b-8222-a0cc83dc0cca,OU=LDAPGroups,DC=IdentityBroker, NULL, LDAPGroupObjectClass:-;LDAPGroupCn:-;LDAPGroupGidNumber:-;LDAPGroupObjectDN:-;LDAPGroupDescription:- 1868610, 65F663DB-076A-4630-92C2-6FE82BD5FE95, 3, 2015-10-02 01:20:09.8420583, UID=b3ac6d1e-025c-46cb-ab31-56d3169af7dc,OU=LDAPGroups,DC=IdentityBroker, NULL, memberUid:+ c1234580 1868611, 65F663DB-076A-4630-92C2-6FE82BD5FE95, 3, 2015-10-02 01:20:09.8420583, UID=243a5553-04c1-4eec-92f6-dab5b2f7a9d5,OU=LDAPGroups,DC=IdentityBroker, NULL, memberUid:+ c1234580 1888631, 65F663DB-076A-4630-92C2-6FE82BD5FE95, 2, 2015-10-02 16:14:45.9843075, UID=e8fbc6c2-3b28-42e7-8943-a148a8351af2,OU=LDAPGroups,DC=IdentityBroker, NULL, LDAPGroupObjectClass:-;LDAPGroupCn:-;LDAPGroupGidNumber:-;LDAPGroupObjectDN:-;LDAPGroupDescription:-
I sampled around either side, but if you note the 2 entries in the middle are both just before the delta's started failing, and are adding a value to a multivalue field. This seems consistent with the error text aswell.
I've attached full config aswell, let me know if more is provided.
Changelog.txt
Extensibility.zip
Start.PNG
Unify.IdentityBroker.FIMAdapter.dll
Customer support service by UserEcho