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
Fixed

Changing container fails with "need-full-object" on delta-import.

Tony Sheehy 13 years ago in UNIFYBroker/Microsoft Identity Manager updated by anonymous 10 years ago 4

Changing container fails with "need-full-object" on delta-import.

The following actions were taken to hit this issue:

  • Connector with field decimal (not key, not required, not readonly)
  • Change the value
  • Delta import on an adapter with a format of CN=schemaKey,CN=decimal

The following LDIF is generated:

version: 1
dn: CN=c0fd28b9-5a8f-45ca-b3b9-69a60aa69c2b
changetype: moddn
newrdn: CN=c0fd28b9-5a8f-45ca-b3b9-69a60aa69c2b
deleteoldrdn: 1

dn: CN=c0fd28b9-5a8f-45ca-b3b9-69a60aa69c2b,CN=2
changetype: modify
replace: decimal
decimal: 2
-

dn: CN=2
changetype: add
objectClass: container

Failing the delta import with "need-full-object".

0
Fixed

Connector failing when DefaultSiteID attribute is included in user connector

Matthew Woolnough 12 years ago in UNIFYBroker/Learnology Life updated by anonymous 10 years ago 9

20130402,06:47:39,Get all entities from connector failed.,Connector,Warning,"Get all entities from connector Learnology Life User Connector failed with reason Method 'Unify.Framework.GuidValue GetValueGuidValue(Unify.Framework.GroupedNameValueCollectionKey)' is not defined for type 'Unify.Repository.Entity'. Duration: 00:00:10.8088785
Error details:
System.ArgumentException: Method 'Unify.Framework.GuidValue GetValueGuidValue(Unify.Framework.GroupedNameValueCollectionKey)' is not defined for type 'Unify.Repository.Entity'
at System.Linq.Expressions.Expression.ValidateCallInstanceType(Type instanceType, MethodInfo method)
at System.Linq.Expressions.Expression.ValidateCallArgs(Expression instance, MethodInfo method, ReadOnlyCollection`1& arguments)
at System.Linq.Expressions.Expression.Call(Expression instance, MethodInfo method, IEnumerable`1 arguments)
at Unify.Framework.LinqContextConversionExpressionVisitorBase`5.VisitMethodCall(MethodCallExpression m)
at Unify.Repository.EntityExpressionQueryVisitor`3.VisitMethodCall(MethodCallExpression m)
at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
at Unify.Framework.ExpressionExpressionVisitorBase.<VisitExpressionList>b__1(Expression originalExpression)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToListTSource(IEnumerable`1 source)
at Unify.Framework.ExpressionExpressionVisitorBase.VisitExpressionList(ReadOnlyCollection`1 original)
at Unify.Framework.LinqContextConversionExpressionVisitorBase`5.VisitMethodCall(MethodCallExpression m)
at Unify.Repository.EntityExpressionQueryVisitor`3.VisitMethodCall(MethodCallExpression m)
at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
at Unify.Framework.LinqContextConversionExpressionVisitorBase`5.VisitLambda(LambdaExpression lambda)
at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
at Unify.Framework.ExpressionExpressionVisitorBase.VisitUnary(UnaryExpression u)
at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
at Unify.Framework.ExpressionExpressionVisitorBase.<VisitExpressionList>b__1(Expression originalExpression)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToListTSource(IEnumerable`1 source)
at Unify.Framework.ExpressionExpressionVisitorBase.VisitExpressionList(ReadOnlyCollection`1 original)
at Unify.Framework.LinqContextConversionExpressionVisitorBase`5.VisitMethodCall(MethodCallExpression m)
at Unify.Repository.EntityExpressionQueryVisitor`3.VisitMethodCall(MethodCallExpression m)
at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
at Unify.Framework.LinqContextConversionExpressionVisitorBase`5.ConvertExpression(Expression partitionExpression)
at Unify.Framework.LinqQueryConversionProvider`5.GetOrderedQuery(Expression businessExpression, IQueryable`1 sourceQueryable, TContext sourceContext)
at Unify.Framework.LinqWhereQuery`5.EvaluateQuery(TContext context)
at Unify.Framework.LinqWhereQuery`5.GetEnumerator()
at System.Linq.Enumerable.ToDictionaryTSource,TKey,TElement(IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at System.Linq.Enumerable.ToDictionaryTSource,TKey(IEnumerable`1 source, Func`2 keySelector)
at Unify.Connectors.LifeUserConnector.<GetAllEntities>d__12.MoveNext()
at Unify.Framework.EnumerableExtensions.<ActionOnFirst>d__1c`1.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at Unify.Framework.ActionOnExceptionEnumerator`1.MoveNext()
at Unify.Framework.EnumerableExtensions.<ActionOnLast>d__16`1.MoveNext()
at Unify.Framework.EnumerableExtensions.<ProduceAutoPages>d__9`1.MoveNext()
at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.Visit()
at Unify.Framework.Visitor.VisitEvaluateOnThreadPoolT(IEnumerable`1 visitCollection, Action`2 visitor, Int32 maxThreads)
at Unify.Framework.RepositoryChangeDetectionWorkerBase.PerformChangeDetection(IEnumerable`1 connectorEntities)
at Unify.Framework.ChangeDetectionImportAllJob.ImportAllChangeProcess()
at Unify.Framework.ChangeDetectionImportAllJob.RunBase()
at Unify.Framework.MutexJobDecorator.Run()
at Unify.Framework.DefinedScopeJobAuditTrailJobDecorator.Run()
at Unify.Framework.AsynchronousJobExecutor.PerformJobCallback(Object state)",Normal


Unify.Repository.Entity.Sql.dll
0
Answered

Identity Broker not reading employee company code on some accounts

Garry Gee (SRWSD) 10 years ago in UNIFYBroker/Frontier ichris/chris21 updated by anonymous 10 years ago 4

On some employee records in Chris21, Identity Broker cannot read the PDTORG1CD field for an enployee. This field is the "Company Code"
This issue has been around for some time and sometimes seems to resolve itself.
One example that we can see right now is an employee named Dianne Humphreys.
In Chris21 she has a Company code of MAA in the PDTORG1CD field.
When doing and Adapter Entity Search on the Chris21 GTR Person adapter via the Unify Management Studio, I cannot see any value in the PDTORG1CD field for that user.

0
Fixed

Cannot update phoneProfile

Peter Wass 13 years ago in UNIFYBroker/Cisco Unified Communications Manager updated by anonymous 10 years ago 2

This error was received when trying to update the phoneProfiles field on the user. Do I need to use the guid or can I use the string representation of the device

20120401,08:54:16,Cisco communicator,Update,Error,"Exception occured after 00:00:00 duration.

System.NullReferenceException: Object reference not set to an instance of an object.
at Unify.Framework.CiscoUserCommunicator.SetAdditionalUpdateFields(XElement updateElement, IConnectorEntity entity)
at Unify.Framework.CiscoCommunicatorBase`1.SetElementFromEntity(XElement requestElement, IConnectorEntity entity, IEnumerable`1 ignoredFields, Action`2 setFieldsAction)
at Unify.Framework.CiscoCommunicatorBase`1.CreateUpdateRequest(IConnectorEntity entity)
at Unify.Framework.CiscoCommunicatorBase`1.UpdateEntity(IConnectorEntity entity)
at Unify.Framework.CiscoCommunicatorBase`1.Update(IConnectorEntity entity)",Verbose
20120401,08:54:16,Save entities to connector failed.,Connector,Warning,"Save entities Count:1 to connector Cisco User Connector failed with reason Object reference not set to an instance of an object.. Duration: 00:00:00.4531250
Error details:
System.NullReferenceException: Object reference not set to an instance of an object.
at Unify.Framework.CiscoUserCommunicator.SetAdditionalUpdateFields(XElement updateElement, IConnectorEntity entity)
at Unify.Framework.CiscoCommunicatorBase`1.SetElementFromEntity(XElement requestElement, IConnectorEntity entity, IEnumerable`1 ignoredFields, Action`2 setFieldsAction)
at Unify.Framework.CiscoCommunicatorBase`1.CreateUpdateRequest(IConnectorEntity entity)
at Unify.Framework.CiscoCommunicatorBase`1.UpdateEntity(IConnectorEntity entity)
at Unify.Framework.CiscoCommunicatorBase`1.Update(IConnectorEntity entity)
at Unify.Framework.CiscoReadWriteConnectorBase`1.SaveEntity(IConnectorEntity entity)
at Unify.Framework.CiscoReadWriteConnectorBase`1.SaveEntities(IEnumerable`1 entities)
at Unify.Framework.ConnectorToWritingConnectorBridge.SaveEntities(IEnumerable`1 entities)
at Unify.Framework.EventNotifierWritingConnectorDecorator.SaveEntities(IEnumerable`1 entities)
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

0
Fixed

Bad cast in agent logout

Adam van Vliet 12 years ago in UNIFYBroker/Frontier ichris/chris21 updated by anonymous 10 years ago 2

The following is logged repeatedly in the IdB LITE demo:

chris21 Agent
Logout failed with the following message:

Unable to cast object of type 'Unify.Product.IdentityBroker.Chris21ErrorLine' to type 'Unify.Product.IdentityBroker.IChris21CommandLine'.

System.InvalidCastException: Unable to cast object of type 'Unify.Product.IdentityBroker.Chris21ErrorLine' to type 'Unify.Product.IdentityBroker.IChris21CommandLine'.
 at Unify.Product.IdentityBroker.Chris21Agent.CheckLogoutResult(IChris21Record logoutResultRecord, IChris21ConnectorInformation connectorRequest)
 at Unify.Product.IdentityBroker.Chris21Agent.CheckLogout(String module, String loginToken, IChris21ConnectorInformation connectorRequest)

Also fix up the following message:

Completed polling successfully after [{0}] duration.

Starting deletion of chris21 EAI change files.
0
Answered

Error changing CSV file location for CSV Connector in IdentityBroker

Huu Tran 12 years ago updated by anonymous 10 years ago 7

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&currentStepId=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)

0
Answered

Investigate the use of SQL Server alias use for database connection string.

Ross Currie 14 years ago updated by anonymous 10 years ago 7

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

Intelligent cycles for polling and non-polling connectors

Bob Bradley 13 years ago updated by anonymous 10 years ago 1

With

  • any Identity Broker deployment
  • polling or non-polling
  • with or without Event Broker, and
  • for whatever version
    as an implementor you are always making little more than an educated guess as to the appropriate cycle of full and/or delta imports for each of your connectors. This needs to be more scientific, and an opportunity may exist as part of Identity Broker 4 to take empirocal data and suggest refinements (thinking green/yellow/red dashboard style info here) on what would make optimal use of available CPU/network resources.
    Equally, with frequencies recently configured for CSODBB's Peoplesoft (polling) connector for PHRIS, we found that my initial values were on the over-ambitious side. Something to draw attention to the fact that the service was "spinning its wheels" trying to keep up with unrealistic cycles would be useful console feedback (i.e. I summised that the number of queued but unprocessed polling requests was growing because they couldn't be processed fast enough). Ryan had some trouble and called me about it during UAT last week, where memory for the Identity Broker service grew astronomically and delta imports started failing. In the end I think that the resolution was at least partly to do with setting realistic frequencies.
0
Completed

Redundant image node for AdapterConfiguration in CompositeAdapterConfiguration

Bob Bradley 14 years ago updated by anonymous 10 years ago 1

The image node for a composite adapter renders the image node for any contained adapters redundant. However, when the adapter node is excluded from the adapter xml the Identity Broker service fails to start - and an error message is displayed stating that the node is mandatory. When an empty node is added the service still fails to start, but another exception is raised instead. The service will only start when a non-empty image node is included in the configuration.

I noticed the presence of these images (which are not displayed in the Identity Broker Management Studio) when building xsl stylesheets to document the Identity Broker configuration for DEEWR. Not only do they add unnecessary bulk to the configuration, but they can lead to irrelevant images persisting and being accidentally deployed (the images that I found were actually carried over from another project).

As a work-around I have generated a dummy binary string from the smallest PNG file I could find, and used that for all of the adapters that make up my composite adapter.

I believe the image node should only be mandatory for an adapter if it is NOT part of a composite adapter. Given that composite adapters are now likely to be the norm rather than exception, certainly when used with FIM, then this issue is likely to affect more deployments. I doubt whether anyone who has deployed a composite adapter actually realizes what images lay hidden in the nested adapter configurations they have deployed.

0
Completed

PDF documentation can't be opened on a server

Bob Bradley 14 years ago in UNIFYBroker/Microsoft Identity Manager updated by anonymous 10 years ago 3

After deploying UNIFY Identity Broker for Microsoft FIM v3.0.0 (x86).msi from https://unifysolutions.jira.com/wiki/display/SUBIDBFIM/Downloads and completing my IdB 3.0.6 DEEWR configuration, I was ready to create an instance of the IdB FIM xMA ...

After installing using the default options, I found that:

(a) PDF files cannot normally be opened on a server - we might want to think of an alternative format that can say be opened in Wordpad which is (almost) guaranteed to be there ... I got around this by mailing myself the file from my DEEWR email account which was the only way I could get hold of the file over a VPN. Of course I could have installed this to my XP laptop ...


UNIFY Identity Broker for Microsoft FIM v3.0.0 Configuration Guide.pdf