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.
Null reference in relational composite key transformation when a key value doesn't exist
When using a relational composite key transformation on a field that doesn't always exist, a null reference exception is thrown:
Adapter import all entities for adapter failed.
Adapter import all entities for adapter 766401c6-e6e8-46d8-8c10-df86fbde0988 failed with reason Value cannot be null.
Parameter name: item. Duration: 00:00:04.5265410
Error details:
System.ArgumentNullException: Value cannot be null.
Parameter name: item
at Unify.Product.IdentityBroker.Repository.EntityLinqQueryExecutorInformation`1.AddValue(Guid searchGuid, TEntityKey keyValue, IValue item, Int32 columnSequence, Int32 valueSequence, IEntityCollectionKeyUtility`1 collectionKeyUtility)
at Unify.Product.IdentityBroker.Repository.EntityExpressionQueryVisitor`4.<>c_DisplayClass19.<>cDisplayClass1b.<CreateMultiValueRangeExpression>b_16(MultiKeyValue itemValue, Int32 itemValueIndex)
at Unify.Framework.Visitor.VisitT(IEnumerable`1 visitCollection, Action`2 visitor)
at Unify.Framework.Visitor.VisitT(IEnumerable`1 visitCollection, Action`2 visitor)
at Unify.Product.IdentityBroker.Repository.EntityExpressionQueryVisitor`4.CreateMultiValueRangeExpression(IMultiKey`1 multiKey, IEnumerable`1 sourceValueList, IQueryable`1 sourceQueryable)
at Unify.Product.IdentityBroker.Repository.VisitMethodWhereWithMultiValueEnumerableContains`4.Transform(MethodCallExpression expression)
at Unify.Product.IdentityBroker.Repository.EntityExpressionQueryVisitor`4.VisitMethodCall(MethodCallExpression m)
at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
at Unify.Framework.Data.LinqContextConversionExpressionVisitorBase`5.ConvertExpression(Expression partitionExpression)
at Unify.Framework.Data.LinqQueryConversionProvider`5.GetOrderedQuery(Expression businessExpression, IQueryable`1 sourceQueryable, TContext sourceContext)
at Unify.Framework.Data.LinqWhereQuery`5.GetEnumerator()
at System.Linq.Lookup`2.CreateTSource(IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at Unify.Product.IdentityBroker.EntityCompositeKeyDistinguishedNameStaticRelationValueAdapterBase.Transform(IEnumerable`1 sourceValue)
at System.Linq.Enumerable.AggregateTSource,TAccumulate(IEnumerable`1 source, TAccumulate seed, Func`3 func)
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__17`1.MoveNext()
at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()
at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__17`1.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at Unify.Framework.Collections.ActionOnExceptionEnumerator`1.MoveNext()
at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__17`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)
See attached configuration. The key fields are not always populated as a date relational transformation means position information is not populated for some users. Earlier tests of this transformation have succeeded with key fields from a connector, rather than further down the chain.
Unify.Product.IdentityBroker.AdapterEnginePlugInKey.extensibility.config.xml
Unify.Product.IdentityBroker.ConnectorEnginePlugInKey.extensibility.config.xml
Add "container" object class to xMA generator
Containers are an important part of interaction with FIM (see IDB40:Containers), but they aren't mentioned on the IdB UI anymore. "container" should at least be present as an additional object class on the xMA generator as it was in v3.
Ungraceful failure when no start and end fields are selected in a Sliding Date Window
I am able to enter no fields with the "Sliding Date Window" option of the Join transformation (no date fields for this particular connector). Doing so results in an ungraceful error message over the page
ror System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: field at Unify.Framework.Collections.GroupedNameValueCollectionKey.op_Implicit(String field) in c:\TeamCity\buildAgent\work\aad7920828b5b314\Source\Collections\Unify.Framework.Collections.Interfaces\GroupedNameValueCollection\GroupedNameValueCollectionKey.cs:line 203 at Unify.Connect.Web.JoinTransformationController.CreateOrEdit(JoinTransformationViewInformation viewInformation) in c:\TeamCity\buildAgent\work\77553fc70ab89549\Source\Studio\Unify.Connect.Web\Areas\Extensibility\Controllers\JoinTransformationController.cs:line 262 at lambda_method(Closure , ControllerBase , Object[] ) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
In v4 it wasn't possible to select this transformation if no date fields were available, which may be the better and easier resolution
Duplicate schema field error message should be improved.
The message for a duplicate schema field is currently:
'Specified argument was out of the range of valid values. Parameter name: key'
This needs to be improved.
Documentation and support links should open in a new tab
Documentation and Support links should open in a new tab/window, rather than redirecting in the current one.
Database connector - SQL schema provider should return timestamp fields as binary, not timestamp
The schema provider for the database connector currently returns a timestamp for timestamp fields. It should instead return a binary.
long schema field uneditable after incorrect data format used for max value validator
I set up a "long" schema field, with a max range of "-50.3". An error appears on the connector screen:
Incorrect value max attribute in <Extended max="-50.3" xmlns="" />
This error also appears if I attempt to update the schema field with a full stack trace, and does not let me update the field definition.
As an improvement, the message should tell the user which field contains the wrong validator.
Once off timings are never cleared from the home page
Once off timings are never cleared from the list of recent connectors, even well after they are expired. Moreover, they appear as "Inactive" and at the top of the list. This could cause issues if you have several connectors that had been configured to run once at the expense of those that run more regularly.
CSV connector adds additional new line for each export
An additional new line is added for each exported entry.
Multivalue DN Generator unclear output
If the DN generator of the MultiValue DN Generator transformation doesn't contain a schema field DN component of the source, it will always return null.
Either the documentation needs to be updated to better describe this. Or a prerequisite needs to be added to this transformation, such that, that DN generator component is always in the transformation.
Additionally currently nothing is logged that would indicate that this is the reason null values are coming through on reflection.
Customer support service by UserEcho