The user interface will show the following:
"Unable to contact the Search API. Wait and try again. If the problem persists, contact your Enterprise Vault Administrator"
Dtrace will show the following:
1723 14:00:11.398 [9696] (w3wp) <20812> EV-L {EVS} Submitted to SOAP API with Boolean Text Query: [pvid:1478492E4DDE51740A81F61F49C8C6B781110000EVlocal AND (NOT sens:2)] || User: vaultadmin\ev.local
1724 14:00:11.676 [9696] (w3wp) <12100> EV~E |Event ID: 41520 Unable to contact the Search API.|Reason: The message could not be dispatched because the service at the endpoint address 'net.tcp://localhost/EnterpriseVaultAPI/Search/SOAPSearch.svc' is unavailable for the protocol of the address.
1725 14:00:11.680 [9696] (w3wp) <20812> EV-H {EVS} Exception: The message could not be dispatched because the service at the endpoint address 'net.tcp://localhost/EnterpriseVaultAPI/Search/SOAPSearch.svc' is unavailable for the protocol of the address. Info:Failed to contact the Search API. || User: : vaultadmin\ev.local || Diag: Type:System.ServiceModel.EndpointNotFoundException ST:|Server stack trace: | at System.ServiceModel.Channels.ConnectionUpgradeHelper.DecodeFramingFault(ClientFramingDecoder decoder, IConnection connection, Uri via, String contentType, TimeoutHelper& timeoutHelper)| at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.SendPreamble(IConnection connection, ArraySegment`1 preamble, TimeoutHelper& timeoutHelper)| at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.DuplexConnectionPoolHelper.AcceptPooledConnection(IConnection connection, TimeoutHelper& timeoutHelper)| at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout)| at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout)| at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)| at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)| at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)| at System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel channel, TimeSpan timeout)| at System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade)| 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 Symantec.EV.Search.Server.Business.EVIndexSearchService.ISearchService.Search(SearchRequest request)| at Symantec.EV.Search.Server.Business.Service.SOAPSearchHandler.GetSearchResults(SearchInput searchInput) Inner:None
The EV Search Client Log will show the following:
39 05/31/2022 14:00:35.094 Verbose Completed conversion of EVS Search request to SOAP Search Request || User: Vaultadmin\ev.local
39 05/31/2022 14:00:35.095 Verbose Submitted to SOAP API with Boolean Text Query: [pvid:1478492E4DDE51740A81F61F49C8C6B781110000EVlocal AND (NOT sens:2)] || User: Vaultadmin\ev.local
39 05/31/2022 14:00:35.183 Error Unable to contact the Search API.
Reason: The message could not be dispatched because the service at the endpoint address 'net.tcp://localhost/EnterpriseVaultAPI/Search/SOAPSearch.svc' is unavailable for the protocol of the address. || User: Vaultadmin\ev.local
39 05/31/2022 14:00:35.183 Error Failed to contact the Search API. || User: Vaultadmin\ev.local || System.ServiceModel.EndpointNotFoundException: The message could not be dispatched because the service at the endpoint address 'net.tcp://localhost/EnterpriseVaultAPI/Search/SOAPSearch.svc' is unavailable for the protocol of the address.
Server stack trace:
at System.ServiceModel.Channels.ConnectionUpgradeHelper.DecodeFramingFault(ClientFramingDecoder decoder, IConnection connection, Uri via, String contentType, TimeoutHelper& timeoutHelper)
at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.SendPreamble(IConnection connection, ArraySegment`1 preamble, TimeoutHelper& timeoutHelper)
at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.DuplexConnectionPoolHelper.AcceptPooledConnection(IConnection connection, TimeoutHelper& timeoutHelper)
at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout)
at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel channel, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade)
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 Symantec.EV.Search.Server.Business.EVIndexSearchService.ISearchService.Search(SearchRequest request)
at Symantec.EV.Search.Server.Business.Service.SOAPSearchHandler.GetSearchResults(SearchInput searchInput)
39 05/31/2022 14:00:35.185 Verbose End SearchOrchestrator::GetSearchResults() || User: Vaultadmin\ev.local
39 05/31/2022 14:00:35.185 Verbose End ContentManagementService::GetSearchResults() || User: Vaultadmin\ev.local
This issue was determined to be caused by a Server Security Group Policy that set a misconfigured regkey making it persistent. This means that even when the server was moved to an Organizational Unit that didn't have these policies it place the regkey stayed in place thus continuing to make the ImagePath for NetTCPPortSharing un-resolveable.
The RegKey in question is as follows:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetTCPPortSharing\ImagePath
REG_EXPAND_SZ: "%systemroot%\Microsft.NET\Framework64\v4.0.30319\SMSvcHost.exe"
The quotation marks " " around the value "%systemroot%\Microsft.NET\Framework64\v4.0.30319\SMSvcHost.exe"
causes the issue because the image path is not found.
To resolve this issue set the REG_EXPAND_SZ as follows without quotation marks:
REG_EXPAND_SZ: %systemroot%\Microsft.NET\Framework64\v4.0.30319\SMSvcHost.exe