7

EXM is throwing error when I go to the dashboard.

I see the following error in the Sitecore log file.

Exception System.ArgumentException: A route named 'CountriesV1' is already in the route collection. Route names must be unique. Parameter name: name at System.Web.Routing.RouteCollection.Add(String name, RouteBase item) at System.Web.Http.Routing.AttributeRoutingMapper.AddGenerationHooksForSubRoutes(HttpRouteCollection routeTable, IEnumerable1 entries) at System.Web.Http.Routing.AttributeRoutingMapper.<>c__DisplayClass2.<MapAttributeRoutes>b__0(HttpConfiguration config) at System.Web.Http.HttpConfiguration.ApplyControllerSettings(HttpControllerSettings settings, HttpConfiguration configuration) at System.Web.Http.Controllers.HttpControllerDescriptor.InvokeAttributesOnControllerType(HttpControllerDescriptor controllerDescriptor, Type type) at System.Web.Http.Controllers.HttpControllerDescriptor..ctor(HttpConfiguration configuration, String controllerName, Type controllerType) at Sitecore.Services.Infrastructure.Web.Http.Dispatcher.NamespaceHttpControllerSelector.InitializeControllerInfoCache() at System.Lazy1.CreateValue() at System.Lazy`1.LazyInitValue()
at Sitecore.Services.Infrastructure.Web.Http.Dispatcher.NamespaceHttpControllerSelector.FindMatchingController(String namespaceName, String controllerName) at Sitecore.Services.Infrastructure.Web.Http.Dispatcher.NamespaceHttpControllerSelector.SelectController(HttpRequestMessage request) at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__1.MoveNext() 2404 09:42:18 ERROR [Sitecore Services]: HTTP POST URL http://website.local.com/sitecore/api/ssc/EXM/CreateMessageOptions

Sitecore version used:

  • Sitecore.NET 8.2 (rev. 170614) June 14, 2017
  • Web Forms for Marketers 8.2.rev. 170518
  • Email Experience Manager 4.0.2 rev. 170713
  • .NET Framework 4.0.30319.42000

I found a similar questions here but the issue was closed How to ignore routes from specific dlls in Sitecore 8.2

If anyone has any answer to this issue, I will really appreciate your help. Thanks.

0

2 Answers 2

3

This issue is solved. For me this issue was only happening for Sitecore 8.2 on a machine with ASP.NET version 4.6 and above. Also issue surfaces when I launched EXM Dashboard or Experience Analytics Dashboard. I had to open a ticket with Sitecore and they helped me with this.

Solution:

  • Add the third party dll with MVC or API routes in the excludedAssemblies section of Sitecore.Services.Client.config and Sitecore.Mvc.config
  • Reset IIS
  • Delete everything from the folder C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root

Here is the sample config patch for Sitecore.Mvc.config. Similar config patch should be created for Sitecore.Services.Client.config

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <mvc>
      <configurationAssemblies type="Sitecore.Mvc.Configuration.ExcludedAssembliesConfiguration, Sitecore.Mvc">
        <excludedAssemblies hint="list">
          <excludedAssembly id="Sample.AssemblyName">Sample.AssemblyName</excludedAssembly>
        </excludedAssemblies>
      </configurationAssemblies>
    </mvc>
  </sitecore>
</configuration>
2

Another solution and basically the simplest one is to remove dlls that add custom routes. You need to identify them and remove from your bin folder. You can try to add some suffix to the end of the file to try to identify which one is the "faulty" something like "asssembly.dll.disabled" instead of "asssembly.dll".

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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