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.

0
Completed

Better reporting of error when attempt to save item to adapter with a null key value.

Shane Day (Chief Technology Officer) 14 years ago updated by anonymous 9 years ago 4

As originally reported in FINANCE-30, and resolved with that issue, when a item is to be saved, and one of the key values is null, the following error is displayed:

Errors:
Timestamp	Severity	Source	Module	Message
3/02/2011 1:30:02 PM	Error	Logging	Logging	"Unable to raise start notification:

System.NullReferenceException: Object reference not set to an instance of an object.
at Unify.Framework.MultiKeyValue.<ToString>b__0(IValue value)
at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArrayTSource(IEnumerable`1 source)
at Unify.Framework.MultiKeyValue.ToString()
at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)
at System.String.Format(IFormatProvider provider, String format, Object[] args)
at System.String.Format(String format, Object arg0, Object arg1, Object arg2)
at Unify.Notification.ConnectorModifyAnchorEntityNotificationFactory.GetConnectorServiceProcessDetail()
at Unify.Notification.ConnectorNotificationFactory.GetServiceProcessDetail()
at Unify.Notification.TaskNotifier`1..ctor(INotificationMessageService messageService, T factory)"

Timestamp	Severity	Source	Module	Message
3/02/2011 1:30:02 PM	Warning	Adapter request to save entity to adapter space failed.	Adapter	"Adapter request to save entity 531f8d06-81b1-488f-b5e8-6dc932a0093d
to adapter space 278900c3-9b42-4c36-9400-6f1e5eb3354a failed with reason Object reference not set to an instance of an object.. 
Duration: 00:00:00.1718750
Error details:
System.NullReferenceException: Object reference not set to an instance of an object.
at Unify.Notification.TaskNotifier`1.Dispose()
at Unify.Framework.EventNotifierModifyAnchorConnectorDecorator.ModifyAnchor(MultiKeyValue oldKey, MultiKeyValue newKey)
at Unify.Framework.Adapter.<>c_DisplayClass34.<CheckAnchorChangeOnSave>b_2f(KeyValuePair`2 keyValue)
at Unify.Framework.Visitor.<>c_DisplayClass1`1.<Visit>b_0(T item, Int32 index)
at Unify.Framework.Visitor.VisitT(IEnumerable`1 visitCollection, Action`2 visitor)
at Unify.Framework.Visitor.VisitT(IEnumerable`1 visitCollection, Action`1 visitor)
at Unify.Framework.Adapter.CheckAnchorChangeOnSave(IEntitySchema connectorSchema, IEnumerable`1 entitiesToSave, IEntityPartitionUpdatableContext connectorContext, IEnumerable`1 entityIds)
at Unify.Framework.Adapter.SaveEntities(IEnumerable`1 entities, Boolean reflect)
at Unify.Framework.Adapter.SaveEntity(IAdapterEntity entity, Boolean reflect)
at Unify.Framework.Adapter.SaveEntity(IAdapterEntity entity)
at Unify.Framework.AdapterNotifierDecorator.SaveEntity(IAdapterEntity entityToSave)
at Unify.Framework.LDIFAdapter.ExportAdapterEntity(IAdapterEntity adapterEntity, Guid adapterId)
at Unify.Framework.LDIFAdapterServiceHostDecorator.ExportAdapterEntity(IAdapterEntity adapterEntity, Guid adapterId)
at SyncInvokeExportAdapterEntity(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.ProcessMessage4(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)"

It would be better if an explanation is given instead of a NullReferenceException.

0
Fixed

Incorrect display of Identity Broker icon in taskbar - while on 'Combine when taskbar is full'

Tony Sheehy 14 years ago updated by anonymous 9 years ago 2

When the taskbar buttons property is set to 'Combine when taskbar is full' the default shortcut icon appears, instead of the UNIFY Management Studio icon showing.


incorrect-icon.png
0
Fixed

Unable to create Event Source in Windows Server 2008

Shane Day (Chief Technology Officer) 14 years ago updated by anonymous 9 years ago 17

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
0
Answered

A question about transformations

Daniel Walters 14 years ago updated by anonymous 9 years ago 3

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.

0
Fixed

Check transformation fields upon start up to avoid getting configuration error during operations

Shane Day (Chief Technology Officer) 14 years ago updated by anonymous 9 years ago 2

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.

0
Completed

Please allow Right-click Copy in Log viewer

Peter Wass 14 years ago updated by anonymous 9 years ago 2

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.

0
Fixed

Empty string fields cause a DN generator issues when they are used as key generator

Shane Day (Chief Technology Officer) 14 years ago updated by anonymous 9 years ago 4

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).

0
Fixed

Confirming delta import from connector throws exception

Matthew Clark 14 years ago updated by anonymous 9 years ago 3

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.

0
Answered

Specified argument was out of the range of valid values.

Matthew Woolnough 11 years ago updated by anonymous 9 years ago 3

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()<---