BeginExport should fail on service unavailable

Matthew Clark 10 years ago in UNIFYBroker/Microsoft Identity Manager updated by anonymous 7 years ago 8

If you run an export with the Identity Broker service disabled, every item will attempt to export and fail. Instead, service availability should cause the export to fail at the BeginExport level, like the AD and SQL MAs.

Changing priority for relevance for IdB 4 project

Updating estimate for adding the change and testing.

BeginExport now contains a TestConnection method, forcing the connection to break once at the start if the service is unavailable. Marked as resolved, to be closed once tested by the engine.

Reopening. The error needs to be rethrown, otherwise a stopped-extension-dll-exception is thrown with no additional error details unless you check the Event Viewer.

Error needed to be thrown as a different exception type as per http://msdn.microsoft.com/en-us/library/windows/desktop/ms697203(v=vs.85).aspx. I am using the type which return a stopped-extensible-extension-error WMI string, and logs additional details to the Event Viewer (as there are a number of different ways that WCF could fail). This type also makes it look less like there is a bug in the adapter (which stopped-extension-dll-exception looks like). Error thrown to Event Viewer:

"Microsoft.MetadirectoryServices.ExtensibleExtensionException: Unable to connect to the Identity Broker service at http://localhost:59990/IdentityBroker/FIMLDIFAdapter.svc. Verify the connection details are correct, and the service is running.
Inner exception:
System.ServiceModel.ServerTooBusyException: The HTTP service located at http://localhost:59990/IdentityBroker/FIMLDIFAdapter.svc is too busy. ---> System.Net.WebException: The remote server returned an error: (503) Server Unavailable.

As an additional note, BeginExport is called by the run profile regardless of whether or not there are any items to export, so you can also see this message when there are 0 items and the service is down.

Change checked in. Issue resolved.

Confirmed in FIM. Issue closed.

Covered by 3.3.11 in regression test document.