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.
String attribute values with trailing spaces are trimmed
The string "C1 Callam Offices, Easty Street, Woden ACT 2606; " was exported to the Placeholder Connector but the returned (confirming) import was "C1 Callam Offices, Easty Street, Woden ACT 2606;", causing ILM2007 to raise a "exported-change-not-reimported" warning.
Sure the data could be trimmed in a rules extension, but this is the same as the bug that was just fixed in the FIM 2010 Portal which was exhibiting the same behaviour (as well as incorrectly converting " " to " "). Whatever gets exported (right or wrong should always come back exactly the same.
The above problem will result in an infinite loop of export/import with Event Broker ... so it becomes a bigger issue when this happens. We're still in the DEV stage right now with CIT ...
IdB logs refer to Adapter GUIDs
Adapter GUIDs are not available in the IdB UI.
,
Connectors are referred to by name
20130501,17:02:58,UNIFY Identity Broker,Adapter,Information,"Adapter import all entities to adapter space completed.
Adapter import all entities to adapter space 6e91a985-feb0-4d17-9ed9-191d9cd85c86 returned 8435 entities. Duration: 00:01:40.6744522",Normal
20130501,17:02:58,UNIFY Identity Broker,Adapter,Information,"Adapter
Adapter 6e91a985-feb0-4d17-9ed9-191d9cd85c86 page started reflection.",Normal
20130501,17:03:15,UNIFY Identity Broker,Adapter,Information,"Adapter
Adapter 6e91a985-feb0-4d17-9ed9-191d9cd85c86 page completed reflection. Duration: 00:00:16.9066828",Normal
20130502,04:10:41,UNIFY Identity Broker,Logging Engine,Information,Log file completed.,Minimal
Excessive MultiRelationalTransformationContribution execution time
The MultiRelationalTransformationContribution can take a very long time to evaluate, as the current method re-evaluates the repository for each entity in the page.
Multivalue DN generator transformation does not function correctly
According to https://unifysolutions.jira.com/wiki/display/IDBXT306/Multi-value+Distinguished+Name+generator+transformation, the multivalue DN generator introduces a temporary field of MultivaluePart to an entity in order to run the DN generator across every value in a multivalue field. As this is not a field in the adapter schema, the field is not displayed in the dropdown when configuring the transformation, or in the DN generator for the transformation.
As such, a special type of DN generator should be introduced that is able to take a multivalue field in a component generator and produce the multivalue DN field accordingly. The transformation would no longer need to use a temporary field as a result. This would need to be done in such a manner that existing DN generators function correctly, and that it was only in the context of this transformation that the DN generator behaves this way (as multivalue fields in DNs can be used externally and simply print the multivalue as a string).
Identity Broker support for exporting to reference attributes (dns)
For Identity Broker 3.* reference attributes are "forward (read) only". It is a standard IdM connector requirement to be able to export to reference attributes. While work-arounds are often (but not always) possible they are clumsy at best, and require double-processing of data (e.g. once for a reference flow, and once or more - in the case of multi-part keys - for a string flow). In most scenarios this requires storing of data redundantly (denormalisation) on the object being exported, and when this is necessary it usually creates additional overhead in deriving this data (e.g. for FIM Portal => FIM Metaverse => Identity Broker for a SQL connected system), e.g. through the use of FIM custom workflow activities. This creates not only inefficiency, but also potential loss of data integrity if there are workflow errors.
This idea came from this issue raised for DEEWR
Can't provision group to placeholder connector after changing from dn.multi to string.multi.
Error below is thrown when export group object to IdB.
20130114,22:36:07,Adapter request to save entity to adapter space failed.,Adapter,Warning,"Adapter request to save entity 58159829-60f9-4948-85c8-6be78e363005 to adapter space 7c0ca093-cbed-483d-b22e-8c4c20e28a41 failed with reason Unable to cast object of type 'Unify.Framework.MultiValue`1[Unify.Framework.DistinguishedNameValue]' to type 'System.Collections.Generic.IEnumerable`1[System.Object]'.. Duration: 00:00:00.0755100 Error details: System.InvalidCastException: Unable to cast object of type 'Unify.Framework.MultiValue`1[Unify.Framework.DistinguishedNameValue]' to type 'System.Collections.Generic.IEnumerable`1[System.Object]'. at Unify.Framework.EntityMultiValueObjectTypeSchemaValidator`3.CreateValue(Object dataValue) at Unify.Framework.EntitySchemaFieldDefinition.CreateValue(Object dataValue) at Unify.Framework.EntitySchemaValueTransformer.Transform(IEntity baseValue) at Unify.Framework.Adapter.<>c__DisplayClass19.<SaveEntities>b__b(<>f__AnonymousType2`2 <>h__TransparentIdentifier6) at System.Linq.Enumerable.<>c__DisplayClass12`3.<CombineSelectors>b__11(TSource x) at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext() at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) at Unify.Framework.Adapter.SaveEntities(IEnumerable`1 entities, Boolean reflect) at Unify.Framework.Adapter.SaveEntity(IAdapterEntity entity, Boolean reflect) at Unify.Framework.CompositeAdapter.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.MessageRpc.Process(Boolean isOperationContextSet)",Normal
Improve Start service start
Identity Broker service won't start if major processing is occuring.
Service should not be timing out. Look into using SetServiceStatus to inform the Service Control Manager that start up is not yet finished or other alternatives.
http://stackoverflow.com/questions/216401/windows-service-startup-timeout
During the creating of xMA for FIM, the dialog for creating MA (Version Selection) indicates that Identity Broker cannot detect support version of Identity Manager
During the creation of the xMA, when configuring the xMA for a particular version of Identity manager, the dialog indicates that a supported version could not be found. See attached image.
FIM 2010 version not detected.jpg
Error changing CSV file location for CSV Connector in IdentityBroker
When clicking on edit button inside the connector, it leads to the webpage: http://localhost:8008/Connector/ExtendedUpdateConnector/23d5cb8d-bfce-4519-857a-1bb0f52a1560?plugInId=CSV¤tStepId=InitialUpdateStep and display the following error:
Unify.Framework.UnifyUIException: The plug-in views directory cannot be accessed by the account. ---> System.UnauthorizedAccessException: Access to the path 'C:\Program Files\UNIFY Solutions\Identity Broker\Web\Views\Temp\Connector\ExtendedUpdateConnector\CSVInitialUpdateStep.cshtml' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize)
at System.IO.StreamWriter..ctor(String path, Boolean append)
at Unify.Framework.Web.LocalPlugInInformationCache.Apply(ControllerActionIdKey appliedCache) in c:\workspaces\DEV\FrameworkCore\Source\Web\Unify.Framework.Web\Razor\LocalPlugInInformationCache.cs:line 56
at Unify.Framework.Web.UnifyRazorViewEngine.CreateView(ControllerContext controllerContext, String path) in c:\workspaces\DEV\FrameworkCore\Source\Web\Unify.Framework.Web\Razor\UnifyRazorViewEngine.cs:line 117
— End of inner exception stack trace —
at Unify.Framework.Web.UnifyRazorViewEngine.CreateView(ControllerContext controllerContext, String path) in c:\workspaces\DEV\FrameworkCore\Source\Web\Unify.Framework.Web\Razor\UnifyRazorViewEngine.cs:line 130
at Unify.Framework.Web.UnifyRazorViewEngine.CreateView(ControllerContext controllerContext, String viewPath, String masterPath) in c:\workspaces\DEV\FrameworkCore\Source\Web\Unify.Framework.Web\Razor\UnifyRazorViewEngine.cs:line 156
at System.Web.Mvc.VirtualPathProviderViewEngine.FindView(ControllerContext controllerContext, String viewName, String masterName, Boolean useCache)
at System.Web.Mvc.ViewEngineCollection.<>c_DisplayClassc.<FindView>b_b(IViewEngine e)
at System.Web.Mvc.ViewEngineCollection.Find(Func`2 lookup, Boolean trackSearchedPaths)
at System.Web.Mvc.ViewResult.FindView(ControllerContext context)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.<>c_DisplayClass1c.<InvokeActionResultWithFilters>b_19()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
Investigate the use of SQL Server alias use for database connection string.
This one seems very simple on the surface, but none of the usual configuration steps are working.
When I try to start the Identity Broker service, the service fails to start with the following error message:
Service cannot be started. Unify.Framework.ConnectorEngineConfigurationException: Connector Engine unable to start due to bad database connection.
at Unify.Framework.ConnectorEngine..ctor(IAdoNetDataControlFactory dataControlFactory, INotificationMessageService messageService, XElement xmlConnectorConfiguration, IConnectorEntityPartitionContextGenerator entityPartitionUpdateableContextFactory, IScheduleCollection scheduler, IAdoNetDataControlGenerator dataControlGenerator)
at Unify.Framework.ConnectorEnginePlugInFactory.CreateComponent(IUnifyEnginePlugInFactoryInformation factoryInformation)
at Unify.Framework.DependencyPlugInGenerator`4..ctor(ICollection`1 plugInGenerator, IPlugInFactory`2 factoryInformationFactory)
at Unify.Framework.UnifyEngine..ctor(IEnumerable`1 additionalPlugInFactories, DirectoryInfo executingAssemblyLocation)
at Unify.Service.IdentityBrokerServiceEngine..ctor(DirectoryInfo assemblyExcutionPath)
at Unify.Service.IdentityBrokerService.OnStart(String[] args)
at System.ServiceProcess....
Data Engine file:
<?xml version="1.0" encoding="utf-8" ?>
<DataEngine>
<dataRepository>
<dataConnection name="sql" repository="Unify.IdentityBroker" connectionString="Data Source=SQLSERVER;Initial Catalog=Unify.FIMIdentityBroker;Integrated Security=True" />
</dataRepository>
</DataEngine>
Connector Configuration:
<?xml version="1.0" encoding="utf-8" ?>
<ConnectorEngine>
<dataConnection name="repository" repository="Unify.IdentityBroker" />
<connectorconfigurations>
</connectorconfigurations>
</ConnectorEngine>
Steps taken:
- Identity Broker service account is set to a domain account
- Domain account is local administrator on IdB server
- Confirmed domain account has owner access to Unify.FIMIdentityBroker
- Distributed Transaction Coordinator is configured on the SQL Server and the IdB server
- SQLServer is a valid alias (connects fine in SQL Server Management Studio), configured under SQL Server Configuration Manager
- Have another 32-bit server in same environment running Identity Broker, connecting to a different database (Unify.IdentityBroker), which runs fine.
- Have tried re-creating the database, re-downloading the IdB service, changing the database name, changing the IdB service account
Is there anything else worth trying here?
idb89.png
Customer support service by UserEcho