MIM Event Broker Forum
Welcome to the community forum for MIM Event 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.
Installing IdB and EvB on the same server
In DEECD TST environment, FIM Event Broker and Identity Broker are installed on the same server.
And each of them has their own service account.
During the installation, I notice that they are using the same port for WCF.
Is this considered as a correct configuration? Or should I configure them to use different port?
Event Broker 3 FIM Portal WF Activity Not Available
I've installed the FIM Event Broker FIM Portal WorkFlow by following the instructions and I've done an iisreset and restarted the FIM Service. The Activity Information Configuration appears in the Portal, it also appears in the GAC and the details of the AIC match the details in the GAC. The problem is that the activity doesn't appear in the Portal. What could be the problem here?
Active Directory Changes operation return False
I have made the change in ADDS by updating a user account that is included in the AD Container being managed by Active Directory Change's Check Operations.
The log entry in the Event Broker indicated that the Checking Operation return False, while it should be true
5/16/2011 4:59:30 PM Information UNIFY Event Broker Operation List Executor Operation list Test Op List - AD MA - Incoming started 5/16/2011 4:59:30 PM Information UNIFY Event Broker Operation List Executor Running check operation Active Directory Changes for operation list Test Op List - AD MA - Incoming 5/16/2011 4:59:30 PM Information UNIFY Event Broker Operation List Executor Check operation Active Directory Changes for operation list Test Op List - AD MA - Incoming returned False 5/16/2011 4:59:30 PM Information UNIFY Event Broker Operation List Executor Operation list Test Op List - AD MA - Incoming finished
When I go the ADDS MA in FIM Sync Manager I can perform "Delta Import" successfully with the correct update as expected.
I am not sure why the Active Directory Changes Check Operation is not picking the change.
I have ADDS on the local machine.
1 - I created an Active Directory Agent with the following details
Name: ADDS Agent
Server: localhost
Username: FIM\Administrator
Password: xxx
Confirm Password: xxx
Authentication: Basic
2 - I created the an Operation List called "Test Op List - AD MA - Incoming"
I then added the following:
- Added Check Operation - Active Directory Changes Operation
- Select Agent: ADDS Agent
- Filter: (objectType=*)
- Organization Unit Name: OU=Lab,DC=FIM,DC=UNS,DC=COM
- Check Tombstone: No
- Added Operations
- Management Agent: FIM_ADDS_chris21_MA-AHG - Run Profile: Delta Sync
- Management Agent: FIM_ADDS_chris21_MA-AHG - Run Profile: Delta Import and Delta Sync
- Active Directory Commit
For the Filter I have also tried using "(&(objectClass=user)(objectType=person))" and "(&(objectClass=user)(objectType=person))' without any success.
Could someone please advise me what I did wrong here.
EventBrokerv3-AD.jpg
EventBrokerv3-ADAgent.jpg
EventBrokerv3-ADCheckOperation.jpg
EventBrokerv3-ADOpList.jpg
Operations cannot be patched
When attempting to test a patch of the PowerShell plugin (new DLL in to the services directory), the service failed to start with the following exception message:
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, Boo
lean add)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at Unify.Product.EventBroker.ExtensibilityPlugInDictionary`4.AddPlugIn(Type a
ssemblyType)
at Unify.Product.EventBroker.ExtensibilityPlugInDictionary`4.InitializeAssemb
lyAttributeDefinition()
at Unify.Product.EventBroker.ExtensibilityPlugInDictionary`4..ctor(DirectoryI
nfo plugInExtensibilityDirectory)
at Unify.Framework.ExtensibilityPlugInGenerator`4..ctor(DirectoryInfo plugInE
xtensibilityDirectory, IValueAdapter`2 nameValueAdapter)
at Unify.Product.EventBroker.OperationPlugInGenerator..ctor()
at Unify.Product.EventBroker.OperationEngine..ctor(IAgentEngine agentEngine,
IGroupEngine groupEngine, IConfigurationEngine configurationEngine, ILicensingEn
gine licensingEngine, INotificationMessageService messageService, IStoredValuesE
ngine storedValuesEngine)
at Unify.Product.EventBroker.OperationEnginePlugInFactory.CreateComponent(IUn
ifyEnginePlugInFactoryInformation factoryInformation)
at Unify.Framework.DependencyPlugInGenerator`4..ctor(ICollection`1 plugInGene
rator, IPlugInFactory`2 factoryInformationFactory)
at Unify.Framework.UnifyEngine..ctor(String sourceNameName, IEnumerable`1 add
itionalPlugInFactories, DirectoryInfo executingAssemblyLocation)
at Unify.Product.EventBroker.EventBrokerServiceEngine..ctor(DirectoryInfo exe
cutingAssemblyLocation)
at Unify.Service.Event.Debug.ProgramProxy.Execute()
It seems that both the embedded and the directory versions of the assembly are being loaded.
Missed operation lists always run when the scheduler is reenabled
See PUBEB-75. If an operation list is due to run while the scheduler is disabled, the operation list will run as soon as the scheduler is reenabled, eg. once a week every Saturday night, scheduler disabled, the operation list runs on Monday when the schedule is reenabled.
This is because stopping the scheduler only stops the Timer in the PollingScheduleDecorator. The jobs are polled on the event that the timer is incremented, so this prevents the operation lists from running. However, the NextRun information of timings is not updated, and as such the timings say they are due to run.
The most ideal fix here would be to force timings to run CalculateNextRunAfterTime when the schedule is reenabled to recalculate their next run information. For operation lists marked as QueueMissed, these will need to be added to the queue and executed when the scheduler is reenabled. Although the changes may be minor, they have potentially far reaching effects, and all scheduling options should be thoroughly regression tested following the changes.
This issue will also affect Identity Broker 4.
Create Run Profile operation inconsistencies
The screen for creating run profiles.
The browser window title says: "Create Run-Profile Operation - UNIFY Event Broker"
The title in the rendered page says "Create Run Profile Operation"
Pick one and stick with it.
I also think:
Use the form below to finalise the Create process of the run profile operation.
could be a bit more helpful description.
How to Stop IB and EB touching FIM Sync and FIM Service DB suring DB backups
I have seen FIM Exports with web service errors because the DB server was running backups for FIM Sync and Service. Additionally The source data that IB reads (SAS2IDM = SQL view) is on the same server)... I can config exlcusion timeing for IB to exlude the backup window. How do I do the same for EB as I am not using an EB schedule. Becasue I am using change detection I want to config EB to not dtect during exlcuison times. This would stop EB detecting then exporting to FIM MA and the risk of web servie errors in FIM Sync
EB Exclusion Periods.png
Exception thrown when attempting to Auto Configure FIM Agent
After creating a FIM agent (Server Name = localhost, Authentication = "Windows and all others are defaults) I attempt to click the "Auto Configure for FIM Agent" button. Upon accepting the prompt I get the following stack track
System.ArgumentException: The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Guid' for method 'System.Web.Mvc.ActionResult AutoConfigureForFIMAgent(System.Guid)' in 'Unify.EventBroker.Web.AgentsController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
Parameter name: parameters
at System.Web.Mvc.ActionDescriptor.ExtractParameterFromDictionary(ParameterInfo parameterInfo, IDictionary`2 parameters, MethodInfo methodInfo)
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 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)
Update DailyExclusion timing to handle Event Broker use cases
Following from work done for EB-24 and EB-47, the timings have been changed for usability and clarity in configuration, and also for utility in Event Broker. With the addition of exclusion periods to v3.0.0, a number of use cases need to be considered, and the current interface needs to be extended.
In particular, DailyExclusion timing should be updated to account for multiple exclusion periods. Further work needs to be carried out to allow for this functionality, with appropriate error and configuration handling at the factory level, as well as proper functionality as a decorated timing. Specifically:
- Testing of multiple exclusion periods with use cases appropriate to both Identity Broker and Event Broker (as this is a Framework level change to be ported over to Framework at a later date)
- Unit testing for performance of the NextRun given long exclusion periods - this has been carried out
- Refactoring of timing configuration to take multiple exclusion periods in its configuration, rather than decorating itself multiple times - this way, overlaps and potential infinite calculations (eg. the whole day is excluded) can be detected easily at the factory level when the configuration is read, rather than in the operation of the timing (which could be undesirable)
Customer support service by UserEcho