If you see the “Failed to instantiate a processor of type ‘”Sitecore.Xdb.MarketingAutomation.Processing.EventProcessor”” error in your Marketing Automation Engine Logs (located within the AppData/Jobs path, not the actual Marketing Automation Role), there are a few things to check.
This issue is generally caused by the Marketing Automation Engine Windows Service being unable to communicate to xConnect as it may not have the correct permissions to the xConnectCollection Client Certificate. You can read more about client and server certificates in Sitecore here.
Are Your Thumbprints Correct?
If the thumbprint for the xConnectCollection endpoint is incorrect, you will not be able to resolve the connection from the Marketing Automation role/service. You can get the thumbprints of the certificates on your machine via the following PowerShell command:
Get-ChildItem -path cert:\LocalMachine\My
Once you have the thumbprint of the client certificate you are using for the https://xConnectCollection endpoint, check the ConnectionStrings of both the Marketing Automation role and the Marketing Automation Engine to ensure the thumbprint is correct (the Marketing Automation Engine can be found starting in the path of AppData/Jobs within the Marketing Automation role and has its own AppConfig and AppData directories). If is not correct, update the connectionString files to use the thumbprint of the xConnectCollection Client Certificate.
You can learn more about the two Windows Services in Sitecore 9 here.
Check the Permissions on the xConnectCollection Client Certificate
The Marketing Automation Engine Windows Service will likely be using the Local Service account to run. If this account is not added to the xConnectCollection Client Certificate permissions, the Windows Service can’t authenticate its connection to the xConnect as it uses the xConnectCollection endpoint for a lot of operations.
You can check, and subsequently add the Local Service via the following:
- Right Click the xConnectCollection Client Certificate > All Tasks > Manage Private Keys and check if Local Service is listed
- If it is not listed, Add the Local Service with Default Permissions of Full Control and Read