You see this error in the ULS logs:
CoreResultsWebPart::OnInit: Exception initializing: System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.Office.Server.Search.WebControls.CoreResultsWebPart.SetPropertiesOnQueryReader() at Microsoft.Office.Server.Search.WebControls.CoreResultsWebPart.OnInit(EventArgs e)
You also see this error in your server application logs:
SharePoint Web Services Round Robin Service Load Balancer Event: EndpointFailure
Process Name: OWSTIMER
Process ID: 7596
AppDomain Name: DefaultDomain
Service Application Uri: urn:schemas-microsoft-com:sharepoint:service:2313ae1967844030a54407c13c36d972#authority=urn:uuid:3f2c33a4777749139422ac1249fc9288&authority=https://server:32844/Topology/topology.svc
Active Endpoints: 1
Failed Endpoints:1
Affected Endpoint: http://server:32843/2313ae1967844030a54407c13c36d972/SearchService.svc
I have no idea what causes this, but I know how to fix it.
To know for sure that you are having the same problem as me, find the virtual application in IIS Manager under "SharePoint Web Services" that has the same ID as referenced in BOLD above in the windows application logs. (If you aren't actually doing round robin with this service, it may be on one server and not the other, so check both). See the connection in the pic below to the error above?
Click advanced settings and find the application pool it's running under. Mine was a bunch of crazy letters and numbers, like 71283482842042sdf203402. Go to the application pool under "application pools" and you'll see it is stopped. Am I right so far? Well the problem you are having seems to be an issue with the managed account that app pool is running under not working anymore for some reason. Here's how I fixed it:
- Logged into AD users/computers and manually reset the password to something I know.
- Logged into WFE and went back to IIS Manager and reset application pool credentials to use new password.
- Started app pool and made sure it stayed up
- Logged into WFE server and ran SharePoint powershell command: Set-SPManagedAccount -Identity domain\searchapppoolAccount -UseExistingPassword
- Updated the services MMC with this new password and restarted the SharePoint Server Search 14 Service (on all machines in the farm)
- Now navigate on your WFE server to the URL that I had bolded above and instead of seeing a 503 error, you should now see a nice service WSDL page: http://server:32843/2313ae1967844030a54407c13c36d972/SearchService.svc
No idea what just happened, but it worked. Now, beer.