Telerik errors in the Sitecore Client after installing Sitecore Commerce powered by Microsoft Dynamics


Description

Note: This issue does not apply to Sitecore Commerce powered by Commerce Server.

After merging the web.config changes required by Sitecore Commerce powered by Microsoft Dynamics, you may get the errors shown below when accessing the Sitecore Client interfaces that use Telerik controls.

For example, the following error may occur if you try to edit the Profile Cards associated with an item, then click the "Edit" button for one of the personas:

Server Error in '/' Application.'~/Telerik.Web.UI.WebResource.axd' is missing in web.config. RadScriptManager requires a HttpHandler registration in web.config. Please, use the control Smart Tag to add the handler automatically, or see the help for more information: Controls > RadScriptManager
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.  Exception Details: System.InvalidOperationException: '~/Telerik.Web.UI.WebResource.axd' is missing in web.config. RadScriptManager requires a HttpHandler registration in web.config. Please, use the control Smart Tag to add the handler automatically, or see the help for more information: Controls > RadScriptManager
Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:  [InvalidOperationException: '~/Telerik.Web.UI.WebResource.axd' is missing in web.config. RadScriptManager requires a HttpHandler registration in web.config. Please, use the control Smart Tag to add the handler automatically, or see the help for more information: Controls > RadScriptManager]    Telerik.Web.UI.RadScriptManager.OnPreRender(EventArgs e) +460    System.Web.UI.Control.PreRenderRecursiveInternal() +113    ...    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4297

Solution

As a part of the default configuration of Sitecore Commerce powered by Microsoft Dynamics, another IIS application for the transaction service is installed under the same IIS site as Sitecore XP instance (e.g. C:\inetpub\CSSitecore\Website\TransactionService).

The <location> tag is added to the web.config as a requirement for the transaction service and causes Telerik controls rendering problem.

To resolve the issue, consider moving the transaction service outside of the IIS site associated with Sitecore XP.

The transaction service does not have a dependency on Sitecore XP and is better hosted in a separate IIS site for performance reasons. After moving the service, you need to update the \App_Config\DynamicsRetail.Connectors.Services.config file to reflect the new transaction service URLs.