5

I am trying to make a call from Sitecore 9 rev 170622 (Tech Preview) to an xConnect of 9 rev 171002 (IR). During the initialization I am getting the following error:

One or more local models conflict with the xDB service layer. 'Sitecore.XConnect.Collection.Model, 8.3' does not match the remote version

Here is my full code:

CertificateWebRequestHandlerModifierOptions options =
CertificateWebRequestHandlerModifierOptions.Parse("StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint;FindValue=0D80A21AAF0A3B76B87C5E2AA0FCF78C18252259B");

var certificateModifier = new CertificateWebRequestHandlerModifier(options);

List<IHttpClientModifier> clientModifiers = new List<IHttpClientModifier>();
var timeoutClientModifier = new TimeoutHttpClientModifier(new TimeSpan(0, 0, 20));
clientModifiers.Add(timeoutClientModifier);

var collectionClient = new CollectionWebApiClient(new Uri("https://xp0.xconnect/odata"), clientModifiers, new[] { certificateModifier });
var searchClient = new SearchWebApiClient(new Uri("https://xp0.xconnect/odata"), clientModifiers, new[] { certificateModifier });
var configurationClient = new ConfigurationWebApiClient(new Uri("xp0.xconnect/configuration"), clientModifiers, new[] { certificateModifier });

var cfg = new XConnectClientConfiguration(
new XdbRuntimeModel(CollectionModel.Model), collectionClient, searchClient, configurationClient);

try
{
  cfg.Initialize(); // HERE IS WHERE THE CODE BREAKS
}
catch (XdbModelConflictException ce)
{
Console.WriteLine("ERROR:" + ce.Message);
return View();
}

using (var client = new XConnectClient(cfg))
{
var results0 = client.Contacts.ToEnumerable().Count();
}

Does anyone know what this is about?

7

The default collection model in the Tech Preview was versioned as 8.3. In the initial release, it became 9.0. So, the Tech Preview instance of Sitecore is not using the same version of the model as xConnect is using.

I would imagine there are a number of other changes that were made between the Tech Preview and the initial release that would cause issues...

  • Thanks for the response Jason! However I'm here thinking to myself: since xConnect is supposed to be used to get and set content from external platforms, shouldn't it be able to connect no matter what version it is? I mean, if we were using only a command prompt to query xConnect, the command prompt itself has no collection models (I know we can create new models and extend that) - so why would that matter? Anyhow, I am installing a second instance of Sitecore 9 IR to continue my research. – Rodrigo Peplau Oct 31 '17 at 21:22
  • You're attempting to connect to xConnect from a client (SC9 TP) that has loaded a version of the collection model that xConnect knows nothing about. Theoretically, if you had a copy of the 8.3 version of the collection model (in json format) in the <xconnect-server-path>\App_data\Models folder, you would probably be ok. – LonghornTaco Oct 31 '17 at 23:09
  • Sounds right Jason, thank you very much. I will install a second 9IR instance to have that working then. See ya! – Rodrigo Peplau Nov 2 '17 at 0:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.