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.

eDirectory Agent unable to be created with Basic authentication
I just shared a remote desktop session with Henry and his customer and he showed me what he described as a problem whereby the eDir and AD agent dialogs were seemingly being confused. This is hard to explain - basically when he had set up an eDir agent and tried to view the details, the labels were what you would expect for an AD agent, and vice versa.
Firstly I am logging this call on Henry's behalf because he doesn't yet have an Atlassian ID (he told me that Shane Day had organised something and that he should have had an email from the website by now, but there has been no email, and there is certainly no evidence of a Henry.Schleichardt user id). Henry has promised to email me with the details, but until he does, this issue serves as a placeholder for that further info.
What I then did was tell Henry to save a backup of his Extensibility folder, and then to delete all agents/connectors/groups - which he did. I then got him to recreate the FIM agent, then the AD agent, and check that it worked and fired the correct AD MA in FIM - which it did (although we couldn't get this working with Authentication type = Secure, and had to use Basic ... but that is another issue entirely - right now working with Basic was adequate).
So then with this working I got him to examine the created configuration and check that all the details were as expected - inspecting the LISTENER and the CHANGES settings for the first AD MA.
I then got him to repeat the exercise for eDir - and here is the first evidence of the problem ... when we chose "LDAP Agent" from the list of agents and clicked CREATE AGENT, Henry entered the name of the agent and the server DNS name ... then when he selected "Basic" from the drop-down list we were presented with the following fields to complete:
- Domain
- User
- Password
- Repeat Password
The problem of course is that the first property "Domain" is redundant here, since the user name being entered is in its full DN format (Henry's screenshots will show you this - details as he is using in the eDir MA's connection details itself). Since this field is shown as MANDATORY, we had to enter SOMETHING - I suggested that this looks like a bug but for the time being we could re-enter the server DNS name. This was accepted but of course when we enabled the operation it failed.
So at this point we are stuck with not being able to configure the agent correctly for eDir. We also tried anonymous, but this didn't work in this case either (we weren't sure if some level of anonymous was allowed, but it appears not - it was a long shot regardless!).
For the time being I have advised Henry to simply delete the check operation and to run the eDir DI/DS run profile at intervals of say 10 minutes.
Could you please have a look at this Agent with an eDir instance (I believe Eddie Kirkman has a working instance of one if you need one) and see if you can see the same problem? Ideally then get back to Henry asap with either advice on what he/we have done incorrectly or a patch to fix what could be a bug.
EB-config.jpg
s1.jpg
s2.jpg
UnifyLog20130719.csv

Add WMI dependency to service installer
Add a WMI dependency to service installer.
http://wix.sourceforge.net/manual-wix3/wix_xsd_servicedependency.htm

Operation failure is not displayed under Alerts on Event Broker homepage
The issue occurred by following the Regression Test Document (https://unifysolutions.jira.com/wiki/display/INTEB/Regression+Test+Document) test# 6.3.9.3. The operation list was set to fire every two seconds.

Service stops responding after adding blocked once off timing
After selecting the Exclude this time period on the selected days... under Schedules (with Start time 00:00:00, End time 23:59:59 and all Exclusion days selected) the CPU reached 100% usage and the interface stopped responding. This only seems to happen when the time is first created or the service is restarting. After a long period, the interface responds again and correctly displays that the timing should never run. Subsequent attempts to view the next run do not slow down.

Improved FIM Agent handling of no-start-ma-already-running run profile return status
A problem with Event Broker 3.0.* which needed to be resolved for the DEEWR deployment was how to handle the (special) run profile return status of no-start-ma-already-running to ensure that FIM MA delta import/delta sync run profiles. The solution implemented was along the lines of the advice offered by Matt (refer https://unifysolutions.jira.com/browse/EB-381?focusedCommentId=17596&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17596) involving the use of a secondary FIM agent for use exclusively by the FIM MA Operations invoked externally by FIM Portal workflow. The new agent, with the no-start-ma-already-running run profile return status excluded from its success status list, was otherwise identical to the existing FIM agent in order that any externally invoked operation list would raise an exception in the Event Broker logs, thereby enabling these operations to be marked as "Queue Missed" so that Event Broker would retry once the MA was free to run.
The implementation of the above solution has several unwanted side effects (such as the editing/creating of run profile Operations for ANY MA forcing you to re-specify which of the 2 agents to use), as well as complicating the deployment of Event Broker to meet what will be a standard requirement of EVERY Event Broker 3.* deployment involving the FIM MA (i.e. Portal).
A more standard/transparent approach is requested which could avoid the need to define a secondary FIM agent, and thereby streamline the configuration in a repeatable "standard FIM MA configuration" for other FIM sites. My thoughts around how this might be achieved involve the following:
1. Extension of the FIM Agent schema to include an additional "Retry Statuses" property for which the default value of no-start-ma-already-running could also be retained in the existing "Success Statuses" but allow special handling (see below);
2. Operation handling to be enhanced to use the new "Retry Statuses" property to enable the event to be logged as a warning as opposed to an exception (in one day's processing @ DEEWR there were 114 exceptions logged, and of these 99 were cases of no-start-ma-already-running), but still observe the "Queue Missed" property if set for that MA.
Event Broker.Agents.html
Event Broker.Groups.html
Event Broker.Logging.html
Event Broker.Operations.html
Event Broker.Policy.html
Event Broker.Roles.html

Password and confirmation password do not match when creating agents and no error is displayed in browser
If the password and confirmation password fields do not match during the creation for the Active Directory agent and SQL agent no error message is shown. However, the agents are not created.

Improve behaviour of ActionRefresh script following deletes
If possible, the ActionRefresh script should be updated to better handle the removal of operation lists. When an operation list goes missing, for example, the script should reload the entire page, rather than refreshing the existing configuration.

Event Broker: System.ArgumentNullException: Value cannot be null
After disabling a global operation list I clicked on the Home page to start the EvB scheduler and got the following error and stack trace:
Error System.Web.HttpException (0x80004005): Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'. ---> System.ArgumentNullException: Value cannot be null. Parameter name: sourceElement at Unify.Framework.XElementExtensions.AttributeValue(XElement sourceElement, XName attributeName) in c:\Program Files (x86)\Jenkins\jobs\Event Broker\workspace\Core Framework SDK\Source\Xml\Unify.Framework.Xml\XElementExtensions.AttributeValues.cs:line 31 at Unify.EventBroker.Web.AlertMessages.AgentTestConnection(HtmlHelper htmlHelper, UrlHelper urlHelper, AlertInformation alertInformation) in c:\Program Files (x86)\Jenkins\jobs\Event Broker\workspace\Source\Unify.EventBroker.Web\Models\Alerts\AlertMessages.cs:line 146 at Unify.EventBroker.Web.AlertMessages.ShowMessage(HtmlHelper htmlHelper, UrlHelper urlHelper, AlertInformation alertInformation) in c:\Program Files (x86)\Jenkins\jobs\Event Broker\workspace\Source\Unify.EventBroker.Web\Models\Alerts\AlertMessages.cs:line 51 at ASP._Page_Views_Home_AlertOverview_cshtml.Execute() in c:\Program Files\UNIFY Solutions\Event Broker\Web\Views\Home\AlertOverview.cshtml:line 18 at System.Web.WebPages.WebPageBase.ExecutePageHierarchy() at System.Web.Mvc.WebViewPage.ExecutePageHierarchy() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) 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) at System.Web.Mvc.Controller.ExecuteCore() at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) at System.Web.Mvc.MvcHandler.<>c__DisplayClass6.<>c__DisplayClassb.<BeginProcessRequest>b__5() at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0() at System.Web.Mvc.MvcHandler.<>c__DisplayClasse.<EndProcessRequest>b__d() at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.<>c__DisplayClass4.<Wrap>b__3() at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1 func) at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage) at System.Web.HttpServerUtilityWrapper.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) at System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter) at System.Web.Mvc.Html.ChildActionExtensions.Action(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues) at Unify.EventBroker.Web.RenderExtensions.ActionRefresh(HtmlHelper htmlHelper, UrlHelper urlHelper, Func`2 htmlHelperAction, Func`2 urlHelperAction, String id, Int32 timeout) in c:\Program Files (x86)\Jenkins\jobs\Event Broker\workspace\Source\Unify.EventBroker.Web\Extensions\RenderExtensions.cs:line 789 at ASP._Page_Views_Home_Index_cshtml.Execute() in c:\Program Files\UNIFY Solutions\Event Broker\Web\Views\Home\Index.cshtml:line 31 at System.Web.WebPages.WebPageBase.ExecutePageHierarchy() at System.Web.Mvc.WebViewPage.ExecutePageHierarchy() at System.Web.WebPages.StartPage.ExecutePageHierarchy() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) 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)
I am going to restart the service but before I do do you wish to see this for yourself? It is possible that restarting may prevent this exception from recurring ...

Event Broker configuration migration
Is there a document somewhere showing how to migrate EB configuration from one environment to another?

Cancel button for the Operation page
The Edit Operation page (and the Create Operation page for that matter) has no Cancel button. This would be handy so that you can return to the page you were on previously, instead of being forced into an alternative - e.g. hitting one of the tabs.
Customer support service by UserEcho