Coveo for Sitecore 5 is now available!

Problem Accessing the Coveo Admin Service

On-Premises only

The Admin Service component is only present in the Coveo for Sitecore On-Premises solution. If you are using the Coveo Cloud index, this article is not relevant.

Symptoms

  1. When performing a query in the JavaScript Search UI, you may see the error:

    Oops! Something went wrong on the server. If the problem persists contact the administrator.

  2. When performing a rebuild of the Coveo indexes via the Indexing Manager of Sitecore (Sitecore start menu > Control Panel > Indexing Manager), you may get an error dialog displaying the message: There was no endpoint listening at {WrongUrl} that could accept the message:

  3. When performing a rebuild of the Coveo indexes via the Indexing Manager of Sitecore (Sitecore start menu > Control Panel > Indexing Manager), you may get an error dialog displaying the message: Coveo Enterprise Search seems to be unavailable. Please make sure that the service is installed and started:

     Server Error in '/' Application.
     Coveo Enterprise Search seems to be unavailable. Please make sure that the service is installed and started.
     Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
     Exception Details: Coveo.Framework.Exceptions.CesUnavailableException: Coveo Enterprise Search seems to be unavailable. Please make sure that the service is installed and started.
     Source Error: 
     An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
     Stack Trace: 
     [CesUnavailableException: Coveo Enterprise Search seems to be unavailable. Please make sure that the service is installed and started.]
        Coveo.SearchProvider.ProviderIndexBase.Initialize(IIndexDocumentPropertyMapper`1 p_DocumentTypeMapper) +3747
        Coveo.SearchProvider.ProviderIndex.Initialize() +285
        Coveo.SearchProvider.Configuration.CoveoSearchConfiguration.AddIndex(ISearchIndex p_Index) +557
     [TargetInvocationException: Exception has been thrown by the target of an invocation.]
        System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
        System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +76
        System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +211
        System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) +35
        Sitecore.Configuration.Factory.AssignProperties(Object obj, Object[] properties) +832
        Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode, String[] parameters, Object obj, Boolean assert, Boolean deferred, IFactoryHelper helper) +759
        Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper) +296
        Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert) +420
        Sitecore.ContentSearch.ContentSearchManager.get_SearchConfiguration() +70
        Sitecore.ContentSearch.Client.Forms.IndexingManagerWizard.BuildIndexes() +148
     [TargetInvocationException: Exception has been thrown by the target of an invocation.]
        System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
        System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +76
        System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +211
        System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) +35
        Sitecore.Web.UI.Sheer.ClientPage.OnLoad(EventArgs e) +337
        System.Web.UI.Control.LoadRecursive() +71
        System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3178
    
  4. When performing a rebuild of the Coveo indexes or a Re-Index Tree via the Content Editor of Sitecore (Sitecore start menu > Content Editor), you may get an error dialog displaying the message: System.NullReferenceException: Object reference not set to an instance of an object. at System.Web.Security.FormsAuthentication.SetAuthCookie:

     An error occurred.
     System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
     ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
     ---> System.NullReferenceException: Object reference not set to an instance of an object.
      at System.Web.Security.FormsAuthentication.SetAuthCookie(String userName, Boolean createPersistentCookie, String strCookiePath)
      at Sitecore.Security.Authentication.FormsAuthenticationProvider.Login(String userName, Boolean persistent)
      at Coveo.Framework.Utils.AuthenticationManagerWrapper.Login(String p_Username, String p_Password)
      at Coveo.Framework.Configuration.CoveoIndexConfiguration.Validate()
      at Coveo.SearchProvider.ProviderIndexBase.Initialize(IIndexDocumentPropertyMapper`1 p_DocumentTypeMapper)
      at Coveo.SearchProvider.ProviderIndex.Initialize()
      at Coveo.SearchProvider.Configuration.CoveoSearchConfiguration.AddIndex(ISearchIndex p_Index)
      --- End of inner exception stack trace ---
      at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
      at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
      at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
      at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
      at Sitecore.Configuration.Factory.AssignProperties(Object obj, Object[] properties)
      at Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode, String[] parameters, Object obj, Boolean assert, Boolean deferred, IFactoryHelper helper)
      at Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper)
      at Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert)
      at Sitecore.ContentSearch.ContentSearchManager.get_SearchConfiguration()
      at Sitecore.ContentSearch.Maintenance.IndexCustodian.RefreshTree(IIndexable startItem)
      at Sitecore.ContentSearch.Client.Commands.RefreshTree.Refresh(Object[] parameters)
      --- End of inner exception stack trace ---
      at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
      at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
      at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
      at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
      at (Object , Object[] )
      at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
      at Sitecore.Jobs.Job.ThreadEntry(Object state)
    
  5. When looking at the Sitecore logs (typically C:\inetpub\wwwroot\SitecoreInstanceName\Data\logs\log.YYYYMMdd.txt), you may see the following error:

     ManagedPoolThread #12 08:56:15 ERROR An error while updating occurred
     Exception: System.ServiceModel.EndpointNotFoundException
     Message: There was no endpoint listening at http://localhost/AdminService2 that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
     Source: mscorlib
     Server stack trace: 
        at System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason)
        at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
        at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
        at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
        at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
        at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
     Exception rethrown at [0]: 
        at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
        at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
        at Coveo.AdminService.AdminService.IAdminService.GetCollectionNames(CesMasterInformation p_Info)
        at Coveo.AdminService.AdminServiceClientWrapper.PerformAdminServiceCall[T](Func`1 p_Func)
        at Coveo.AdminService.AdminServiceClientWrapper.GetCollectionNames()
        at Coveo.AbstractLayer.Communication.CES.AdminModule.CreateCollection(CollectionConfig p_CollectionConfig)
        at Coveo.AbstractLayer.Communication.CES.AdminModule.SetUpCesRequirements(String p_ServerUrl)
        at Coveo.AbstractLayer.Communication.CES.AdminModule.SetUpRequirements(String p_ServerUrl)
        at Coveo.AbstractLayer.Communication.CES.CESCommunication.InitializeAdminModule(String p_ServerUrl)
        at Coveo.SearchProvider.ProviderIndex.Update(IIndexableUniqueId p_IndexableUniqueId, IndexingOptions p_IndexingOptions)
     Nested Exception
     Exception: System.Net.WebException
     Message: The remote server returned an error: (404) Not Found.
     Source: System
        at System.Net.HttpWebRequest.GetResponse()
        at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
    

Causes

  1. The Coveo Admin Service may not be installed.
  2. The Coveo Admin Service may not be started.
  3. The Coveo Admin Service endpoint may not be configured correctly in the Coveo.SearchProvider.config file.
  4. The Coveo Enterprise Search 7 service may not be started.

Resolution

  1. Make sure that the Coveo Admin Service is installed (Administrative Tools > Services > Coveo Admin Service). 

  2. Make sure that the Coveo Admin Service is started (Administrative Tools > Services > Coveo Admin Service).
  3. Make sure that the adminServiceUri property is valid:
    1. Open the Coveo.SearchProvider.Custom.config file (typically located under C:\inetpub\wwwroot\SitecoreInstanceName\Website\App\_Config\Include\Coveo).
    2. Locate the defaultIndexConfiguration/adminServiceConfiguration/adminServiceUri node.
    3. Enter the endpoint of the Coveo Admin Service (typically http://localhost:80/AdminService).
  4. Make sure that the Coveo Enterprise Search 7 service is started (Administrative Tools > Services > Coveo Enterprise Search 7).