In previous versions of Sitecore the license.xml file was located by default in the /Data folder of the Sitecore installation.
With the release of Sitecore 9 and the introduction of xConnect the license file now needs to be in four locations:
- In the Sitecore website, the default location being the /App_Data folder of the Sitecore installation.
- In the xConnect website in the following default locations:
If you have an upgraded license.xml file, and don't copy it to all four locations, the site and xConnect will not work as expected.
On updating our licence, the file was only copied to /App_Data on the Sitecore installation and /App_Data on the xConnect installation. xConnect looked to be working as records were being written into the database and contacts could be queried through the xConnect API. However when trying to do searches via the API no records were being retrieved.
Solr showed that the indexes had not been updated for some time and it was found that the Sitecore xConnect Search Indexer and Sitecore Marketing Automation Engine services were stopped and could not be started.
The logs for the indexer service in /App_Data/jobs/continuous/IndexWorker/App_Data/Logs of the xConnect installation contained the following exception:
Failed to start the indexer host
System.Runtime.Serialization.SerializationException: The constructor to deserialize an object of type 'Sitecore.Nexus.Licensing.LicenseException' was not found.
Copying the new license.xml file into the App_Data directory of the services solved the problem and the services could be started successfully.
Once the services were started and the Solr indexes were updated the API searches started to work.