This is an upgrade from Tridion 8.1 with DXA 1.5 .net to Tridion 9.6 and DXA 2.2.9 .net.
The DXA website is in a stage where everything is working except for the device detection, image resize functionality that depends on the Context Service.
The site.log shows the following error during initialization of DXA:
Sdl.Web.Tridion.Context.ContextServiceClaimsProvider..cctor:line 36: Failed to initialize the context engine.
Sdl.Web.Delivery.Service.InvalidServiceEndpoint: Invalid context engine service uri retrieved from discovery service.
at Sdl.Web.Context.OData.Client.Caller.ODataContextEngineServiceClient..ctor()
at Sdl.Web.Context.OData.Client.ODataContextEngine..ctor()
at Sdl.Web.Tridion.Context.ContextServiceClaimsProvider..cctor() in C:\DXAGitHub\dxa-suite\repositories\dxa-web-application-dotnet\Sdl.Web.Tridion\Providers\Context\ContextServiceClaimsProvider.cs:line 36
Unity config points to the ContextServiceClaimsProvider:
<type type="IContextClaimsProvider" mapTo="ContextServiceClaimsProvider">
<lifetime type="singleton" />
</type>
The strange part is that I can't find any errors in the discovery log, or context service log. Also the Topology Manager flyout in Tridion Content Explorer correctly shows the Context as a capability of the Discovery service:
The CD services are accessible from the website machine. They all use host names (not localhost). Firewall ports are open.
Running java -jar discovery-registration.jar read
shows Context Service registered, up and running:
Doing my troubleshooting, I found several resources mentioning this error; unfortunately none of them explain an actual solution:
- Why does DXA 1.5 require the Context Service?
- DXA 2.1 .Net Error - Context Service
- Error initializing DXA 1.7
Your thoughts are much appreciated and thank you in advance!