I’m trying to re-deploy Enterprise Search in my live environment after I upgraded from 10.2.200.3 to 10.2.600.5 last night, but I’m running into some odd error.
I deployed the extension without issue. It uses a wildcard cert issued from a CA. I did create the DB on the deployment, so it’s brand new.
I can see the windows service is also running under the correct account as defined in the Service Account config.
In the Enterprise Search Management, I registered the search server with valid configurations and am able to ping both the server and port used for search service without issue.
There are no indexes (indices?) under the Search Index node, so I go to Create Index and select the Epicor ERP template and click next
When I select the Windows endpoint binding and enter in my server and click Validate Connection to Continue, it throws this error:
System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Access denied (BO.APIKey).
Contact your System Administrator to ensure you have access. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is:
Epicor.Search.Exceptions.EpicorSearchException: Unable to test application server connection. Reason: Access denied (BO.APIKey).
Contact your System Administrator to ensure you have access. ----> System.ServiceModel.FaultException: Access denied (BO.APIKey).
Contact your System Administrator to ensure you have access.
Server stack trace:
at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
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.HandleRe...).
In the Server Log (right click on the search server>Show Server Log) it gives a bit more info related to a certificate type error (scrubbed the service account for security but it’s the same account the service is running under):
Hosting: [{serviceAccount}] [08/15/20 13:04:51] [4] Error initializing service 'SearchAccess'. Ex: System.InvalidOperationException: Cannot find the X.509 certificate using the following search criteria: StoreName 'My', StoreLocation 'LocalMachine', FindType 'FindBySubjectName', FindValue 'localhost'.
at System.ServiceModel.Security.SecurityUtils.GetCertificateFromStoreCore(StoreName storeName, StoreLocation storeLocation, X509FindType findType, Object findValue, EndpointAddress target, Boolean throwIfMultipleOrNoMatch)
at System.ServiceModel.Security.SecurityUtils.GetCertificateFromStore(StoreName storeName, StoreLocation storeLocation, X509FindType findType, Object findValue, EndpointAddress target)
at System.ServiceModel.Security.X509CertificateRecipientServiceCredential.SetCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, Object findValue)
at System.ServiceModel.Configuration.X509RecipientCertificateServiceElement.ApplyConfiguration(X509CertificateRecipientServiceCredential cert)
at System.ServiceModel.Configuration.ServiceCredentialsElement.ApplyConfiguration(ServiceCredentials behavior)
at System.ServiceModel.Configuration.ServiceCredentialsElement.CreateBehavior()
at System.ServiceModel.Description.ConfigLoader.LoadBehaviors[T](ServiceModelExtensionCollectionElement`1 behaviorElement, KeyedByTypeCollection`1 behaviors, Boolean commonBehaviors)
at System.ServiceModel.Description.ConfigLoader.LoadServiceDescription(ServiceHostBase host, ServiceDescription description, ServiceElement serviceElement, Action`1 addBaseAddress, Boolean skipHost)
at System.ServiceModel.ServiceHostBase.LoadConfigurationSectionInternal(ConfigLoader configLoader, ServiceDescription description, ServiceElement serviceSection)
at System.ServiceModel.ServiceHostBase.ApplyConfiguration()
at System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection baseAddresses)
at System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses)
at Epicor.Search.IndexerSvc.WindowsService.AddSearchService().
Administration: [{serviceAccount}] [08/15/20 13:05:33] [9] Unable to retrieve company list. Reason: Access denied (BO.APIKey).
Contact your System Administrator to ensure you have access.
Administration: [{serviceAccount}] [08/15/20 13:10:48] [8] Unable to test application server connection. Reason: Access denied (BO.APIKey).
Contact your System Administrator to ensure you have access.
Administration: [{serviceAccount}] [08/15/20 13:19:29] [69] Unable to test application server connection. Reason: Access denied (BO.APIKey).
Contact your System Administrator to ensure you have access.
I didn’t see this in the install instructions, any ideas?