0
Published

The service will not start due to a lack of permissions to create a WCF end-point

Curtis Lusmore 8 years ago updated by anonymous 8 years ago 1

Description

MIM Event Broker service will not start and the following exception can be seen in the Windows Event Viewer Unify.Framework.UnifyServerStartException: The request to create a WCF end-point for Event Broker has failed due to lack of permissions to create a WCF end-point with the specified namespace.

Affected Software

  • MIM Event Broker

Symptom

The MIM Event Broker service cannot be started and the following details can be seen in the Windows Event Viewer:

Service cannot be started. Unify.Framework.UnifyServerStartException: The request to create a WCF end-point for Event Broker has failed due to lack of permissions to create a WCF end-point with the specified namespace. In order to give permissions for the end-point to be opened, run the Windows Command Prompt as administrator and run the following command:
netsh.exe http add urlacl url=http://+:|PORT|/ user=|USERNAME|
For more information search for information on the inner exception provided to this exception message. ---> Unify.Product.EventBroker.UnifyStartupException: The request to create a WCF end-point for Event Broker has failed due to lack of permissions to create a WCF end-point with the specified namespace. In order to give permissions for the end-point to be opened, run the Windows Command Prompt as administrator and run the following command:
netsh.exe http add urlacl url=http://+:|PORT|/ user=|USERNAME|
For more information search for information on the inner exception provided to this exception message. ---> System.ServiceModel.AddressAccessDeniedException: HTTP could not register URL http://+:59990/EventBroker/EventBrokerManagementStudio.svc/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details). ---> System.Net.HttpListenerException: Access is denied
   at System.Net.HttpListener.AddAllPrefixes()
   at System.Net.HttpListener.Start()
   at System.ServiceModel.Channels.SharedHttpTransportManager.OnOpen()
   --- End of inner exception stack trace ---
   at System.ServiceModel.Channels.SharedHttpTransportManager.OnOpen()
   at System.ServiceModel.Channels.TransportManager.Open(TransportChannelListener channelListener)
   at System.ServiceModel.Channels.TransportManagerContainer.Open(SelectTransportManagersCallback selectTransportManagerCallback)
   at System.ServiceModel.Channels.HttpChannelListener.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at Unify.Product.EventBroker.EventBrokerEngine.Start()
   --- End of inner exception stack trace ---
   at Unify.Product.EventBroker.EventBrokerEngine.Start()
   at Unify.Framework.UnifyEngine.Start()        

Solution

This issue occurs because the Service account does not have sufficient permissions to create a WCF end-point on the specified port (by default this is 59990).

To provide the service account with the required permissions enter the following into command-prompt.

netsh.exe http add urlacl url=http://+:DESIRED_PORT/ user=DESIRED_SERVICE_ACCOUNT        

Other solutions include:

  1. Changing the service account to an account that has the required permissions - specifically if the original service account should not be able to host services on specific ports.
  2. Changing the port to one that the original service account supports - specifically if the service account cannot/should not be changed.