xconnect.collection connectionString Values: Which One for Which Role
For those that use an XP1 build of Sitecore 9, setting the proper connectionStrings is critical for xConnect communication. One of the more confusing aspects are the connectionStrings named xconnect.collection and xconnect.collection.certificate. These may require either the xConnectCollection or xConnectCollectionSearch endpoint and matching thumbprint depending on the Sitecore Role.
<add name="xconnect.collection" connectionString="https://Sitecore_xconnect" />
<add name="xconnect.collection.certificate" connectionString="StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint;FindValue=" />
On the face of things, one would assume that you would always enter the endpoint and matching client certificate thumbprint for the https://xConnectCollection role running in xConnect. However, a careful review of the documentation unveils that this will either be the xConnectCollection or xConnectCollectionSearch endpoint if it is a CMS, CDS or other role.
Per the Sitecore 9 Update 2 Installation Guide, you will find that this endpoint on the CMS Server actually needs to be the xConnectCollectionSearch URL and matching client certificate thumbprint, while it is the xConnectCollection URL and matching client certificate thumbprint on others, such as the CDS, Processing and Reporting roles.
Client Certificate Matching by Sitecore 9 Role
Role Name | Client Certificate | Associated connection strings containing client thumbprint |
Content Management | xConnect Collection Search
xDB Reference Data xDB Automation Operations xDB Automation Reporting |
xconnect.collection.certificate
xdb.referencedata.client.certificate xdb.marketingautomation.reporting.client.certificate xdb.marketingautomation.operations.client.certificate |
Content Delivery | xConnect Collection
xDB Reference Data xDB Automation Operations |
xconnect.collection.certificate
xdb.referencedata.client.certificate xdb.marketingautomation.operations.client.certificate |
Reporting | xConnect Collection | xconnect.collection.certificate |
Processing | xConnect Collection | xconnect.collection.certificate |
xConnect Collection | None required* | – |
xConnect Collection Search | None required* | – |
xDB Reference Data | None required* | – |
xDB Automation Operations | xConnect Collection | xconnect.collection.certificate |
xDB Automation Reporting | None required* | – |
* These four roles do not require a client certificate because they do not make calls to other roles.