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.

Migrating Event Broker from Production to UAT
I am trying to use production EB configuration to restore UAT for a customer. I have followed the instructions on Voice for migrating between environments which is essentially to install a fresh EB and then copy the Extensibility files across, modifying as required to match the new environment. When I do this though, whilst the service will start the web site http://localhost:80 is unavailable. The version in production is 4.0.0.RTM matching the version deployed in UAT.

Hey Chris,
Investigating your config has shown that the customer is hosting the UI through IIS.
To replicate production, follow the instructions at the link below for configuring the product with IIS:
If you wish to use the embedded web server, follow the instructions at the link below, noting that the embedded web server is deprecated as of UNIFYNow version 4.x:

Failed UNIFYNow SQL operation with error: Operation faulted: Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
We have a operation list which is currently failing and will only run successfully after restarting the UNIFYNow service, not sure of the exact cause of the root error but any subsequent runs fail immediately with the error:
Operation faulted: Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. |
Operation e681ce94-daf3-4c29-b6cc-f9d03f55cce8 failed in operation list with id df1696a0-948e-41e8-939f-4b48509b5508 for the following reason. This is retry number 0: System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.<br> at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)<br> at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)<br> at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)<br> at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)<br> at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)<br> at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()<br> at Unify.Framework.Data.AdoNetDataControl.ExecuteNonQuery(String commandText, IEnumerable`1 parameters, CommandType commandType)<br> at Unify.Product.EventBroker.OperationListExecutorBase.RunNextOperations(IEnumerator`1 operationEnumerator)<br>ClientConnectionId:a38cf1d2-62c1-4c4e-8270-29b04c876079<br>Error Number:18456,State:1,Class:14
The operation will run successfully after the restart and after some period will start failing.
It is once it starts failing that the above error is shown.

There doesn't appear to be any evidence that UNIFYNow isn't functioning correctly. If any new information is presented please add it and I'll reopen the issue.

Expand REST agent functionality
Currently the REST Agent supports GET and POST requests to configured endpoints.
There's also an IdentityBroker REST agent built in, however it only supports the triggering of a Full Import or Polling Import.
Would it be possible to expand the REST agent to support other method requests such as GET, and/or expand the IdentityBroker REST agent to support custom endpoint calling? I'd love to be able to trigger a Generate Changes on the UNIFYBroker API, which currently isn't possible through either of these mechanisms.

Event Broker 3.1 to 4.02 Upgrade
Hi,
We have a customer that has requested some details on an upgrade from EventBroker 3.1 to UNIFYNow 4.02 (the current latest RTM version); and we have a few questions:
- Is an in-place upgrade supported?
- Are there any gotchas?
- Can someone suggest an estimate effort for such an upgrade engagement?
thank you

- Upgrade: https://voice.unifysolutions.net/knowledge-bases/8/articles/2727-upgrading-mim-event-broker
- Known Issues: https://voice.unifysolutions.net/knowledge-bases/8/articles/3177-mim-event-broker-release-notes
- Time frame: Yes, it has been done before so that information should be available to you through your normal channels.

Create Pending Export Operation
Check Operation - Create Pending Export Operation is not working since the upgrade to v4.0.1.
The select agents is displayed and list is populate with MIM/AAD Connect agents but nothing happens when clicking on continue. Confirmed this is happening on more than one Event Broker instance.

Hi Boyd, it appears that new model validation was preventing the multi-step from progressing. Please try patching web\bin with Unify.EventBroker.Web.dll

Non-existant management agents after upgrading from v3 to v4
After upgrading EB from v3 to v4 all my operations stopped working with errors like "Attempting to check for exports in non-existant management agent". I refreshed the FIM Agent which did not help. I then created a new MIM Agent and went through manually updating every single check operation and run operation (there are *lots*) to reference the new agent. Dev then worked.
I have just upgraded Test and the same thing has happened, even though I migrated the OperationEnginePluginKey and AgentEnginePluginKey files from Dev (then fixed the agent database path through the UI). Again I've refreshed MAs, and restarted a few times, but everything is broken with "non-existant management agent" type messages.
The MA GUIDs are identical in both environments and I always update EB by copying the OperationEnginePluginKey file.
How can I fix this without having the edit every single operation again?

Hi Carol,
I've figured what the issue is and have corrected it. This, however, involved realising that the storing MIM references in isolated storage while still maintaining the portability of the extensibility config would negate any benefit of having them in the first place. Therefore, these references are now stored in an extensibility file (Unify.Product.EventBroker.MIMReferenceRepositoryPlugInKey.extensibility.config
) so when migrating config between environments the MIM references are too.
This fix is included in v4.0.4, which I just released. Isolated storage references will be migrated on the first service start, so an existing environment should be upgraded to v4.0.4 and run once to get the extensibility config in the correct state for migration.

PowerShell Logging
Please provide reference information and an example of how to access the log record data using the PowerShell log writer. I'm looking to write entries to OMS, and am looking at the feasibility of using this log writer in lieu of the email logger. Thanks

The page was missing from the Event Broker, I've copied it over https://voice.unifysolutions.net/knowledge-bases/8/articles/3550-powershell-log-writer

System.ServiceModel.Security.MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Anonymous'
Hi,
I am installing MIM Event Broker on Server 2012 R2 with IIS 8.5
I have most of the configuration done, but when going to the site, I get this error:
System.ServiceModel.Security.MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'NTLM,Negotiate'. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
--- End of inner exception stack trace ---
In terms of windows authentication, I have configured the authentication correctly on IIS and the site itself.
Please advise.

Hey Gurdip,
Event Broker has an inbuilt web server which is enabled by default. You won't need this if you've configured it to use IIS.
Check out the documentation on https://voice.unifysolutions.net/knowledge-bases/8/articles/2721-configuring-mim-event-broker-for-use-with-embedded-web-server , following the steps to change the enabled="true" to enabled="false" in the Unify.Framework.Web.WebEnginePlugInKey.extensibility.config.xml file. The service should then start.

EventBroker failed to start with the below error (possibly due to .Net compability):
Application: Unify.Service.Event.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileNotFoundException
at System.ModuleHandle.ResolveType(System.Reflection.RuntimeModule, Int32, IntPtr*, Int32, IntPtr*, Int32, System.Runtime.CompilerServices.ObjectHandleOnStack)
at System.ModuleHandle.ResolveTypeHandleInternal(System.Reflection.RuntimeModule, Int32, System.RuntimeTypeHandle[], System.RuntimeTypeHandle[])
at System.Reflection.RuntimeModule.ResolveType(Int32, System.Type[], System.Type[])
at System.Reflection.CustomAttribute.FilterCustomAttributeRecord(System.Reflection.CustomAttributeRecord, System.Reflection.MetadataImport, System.Reflection.Assembly ByRef, System.Reflection.RuntimeModule, System.Reflection.MetadataToken, System.RuntimeType, Boolean, System.Object[], System.Collections.IList, System.RuntimeType ByRef, System.IRuntimeMethodInfo ByRef, Boolean ByRef, Boolean ByRef)
at System.Reflection.CustomAttribute.GetCustomAttributes(System.Reflection.RuntimeModule, Int32, Int32, System.RuntimeType, Boolean, System.Collections.IList, Boolean)
at System.Reflection.CustomAttribute.GetCustomAttributes(System.Reflection.RuntimeAssembly, System.RuntimeType)
at System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Type, Boolean)
at System.AppDomain.GetTargetFrameworkName()
Strange enough, .Net version in the machine is 4.6.1. When running command line debugging, the error is:
D:\Program Files\UNIFY Solutions\Event Broker\Services>Unify.Service.Event.Debug
.exe
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or ass
embly 'Unify.Framework, Version=5.1.0.0, Culture=neutral, PublicKeyToken=84b9288
cb2633de4' or one of its dependencies. The system cannot find the file specified
.
at System.ModuleHandle.ResolveType(RuntimeModule module, Int32 typeToken, Int
Ptr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInst
Count, ObjectHandleOnStack type)
at System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module, Int32
typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] met
hodInstantiationContext)
at System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken, Type[] ge
nericTypeArguments, Type[] genericMethodArguments)
at System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttrib
uteRecord caRecord, MetadataImport scope, Assembly& lastAptcaOkAssembly, Runtime
Module decoratedModule, MetadataToken decoratedToken, RuntimeType attributeFilte
rType, Boolean mustBeInheritable, Object[] attributes, IList derivedAttributes,
RuntimeType& attributeType, IRuntimeMethodInfo& ctor, Boolean& ctorHasParameters
, Boolean& isVarArg)
at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decora
tedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFi
lterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecorate
dTargetSecurityTransparent)
at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeAssembly asse
mbly, RuntimeType caType)
at System.Attribute.GetCustomAttributes(Assembly element, Type attributeType,
Boolean inherit)
at System.AppDomain.GetTargetFrameworkName()
Pls advise.

This shouldn't have been caused by an external installation, if it was (e.g. after rolling back the hotfixes), you may wish to raise a support call with Microsoft.
Please check the installed MIM Event Broker service executable versions, as this was fixed in v3.2.1 (issue was caused by a breaking change to the way .NET loaded assembly level attributes, similar to https://voice.unifysolutions.net/communities/6/topics/66-service-fails-to-start-filenotfoundexception-filtercustomattributerecord). Or update to v4.x to be sure.

Event Broker Monitoring
Further to the basic concepts from https://voice.unifysolutions.net/communities/5/topics/1964-create-alerts-for-informing-end-user-of-important-events, a situation arose this week with a customer where a critical operation list had been disabled and not re-enabled in a timely fashion. In this case we still don't know how this happened - other than it wasn't anyone from UNIFY (no access at the time) and it wasn't the Safety Catch.
What I am thinking of configuring is a PowerShell script which sends an email notification in the event that an operation list is detected as disabled for longer than a configurable period of time (e.g. put operation lists in a "watch group" and if any one of these operations is detected as disabled at the time of the check/probe, then start a counter ... and if after say 3 consecutive probes the operation list is still disabled, generate an alert.
This would be a useful feature to come OOTB, however ... i.e. its own health monitoring capability. This could be a tab in its own right, configured with a number of operations independent of the "normal" operation lists. Needs some thought.

I imagine this could be done in OMS (or I imagine any other platform), by subscribing to the right event and creating an alert based on the last seen time. This might be better asked in the AMS forum?
Customer support service by UserEcho