Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SFE 4.0.2 breaks EXM tracking #120

Open
markgibbons25 opened this issue Jun 10, 2021 · 0 comments
Open

SFE 4.0.2 breaks EXM tracking #120

markgibbons25 opened this issue Jun 10, 2021 · 0 comments

Comments

@markgibbons25
Copy link

Using Sitecore Forms Extensions for SC10.1-4.0.2 , EXM click tracking returns this:

[InvalidOperationException: Unable to resolve service for type 'Sitecore.XConnect.Segmentation.ExpressionBuilder.IContactSearchExpressionBuilder' while attempting to activate 'Sitecore.ListManagement.XConnect.ContactSourceFactory'.]
   Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Type serviceType, Type implementationType, CallSiteChain callSiteChain, ParameterInfo[] parameters, Boolean throwIfCallSiteNotFound) +434
   Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateConstructorCallSite(ResultCache lifetime, Type serviceType, Type implementationType, CallSiteChain callSiteChain) +504
   Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact(ServiceDescriptor descriptor, Type serviceType, CallSiteChain callSiteChain, Int32 slot) +377
   Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact(Type serviceType, CallSiteChain callSiteChain) +84
   Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateCallSite(Type serviceType, CallSiteChain callSiteChain) +152
   System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) +88
   Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Type serviceType, Type implementationType, CallSiteChain callSiteChain, ParameterInfo[] parameters, Boolean throwIfCallSiteNotFound) +112
   Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateConstructorCallSite(ResultCache lifetime, Type serviceType, Type implementationType, CallSiteChain callSiteChain) +779
   Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact(ServiceDescriptor descriptor, Type serviceType, CallSiteChain callSiteChain, Int32 slot) +377
   Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact(Type serviceType, CallSiteChain callSiteChain) +84
   Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateCallSite(Type serviceType, CallSiteChain callSiteChain) +152
   System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) +88
   Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.CreateServiceAccessor(Type serviceType) +97
   System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) +88
   Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope) +46
   Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService(IServiceProvider provider) +64
   Sitecore.Modules.EmailCampaign.ManagerRoot..ctor(Item rootItem) +157
   Sitecore.Modules.EmailCampaign.ManagerRoot.FromItem(Item rootItem) +50
   Sitecore.Modules.EmailCampaign.Services.ManagerRootService.GetManagerRootFromChildItem(Item childItem) +57
   Sitecore.Modules.EmailCampaign.Messages.MessageItem.get_ManagerRoot() +46
   Sitecore.EmailCampaign.Cd.Pipelines.RegisterEmailOpened.ResolveSite.GetUri() +34
   Sitecore.EmailCampaign.Cd.Pipelines.RegisterEmailOpened.ResolveSite.Process(RegisterEmailOpenedPipelineArgs args) +63
   (Object , Object ) +9
   Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) +490
   Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists) +236
   Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain) +22
   Sitecore.Modules.EmailCampaign.Core.PipelineHelper.RunPipeline(String pipelineName, PipelineArgs args, String pipelineDomain) +60
   Sitecore.EmailCampaign.Cd.sitecore_modules.Web.EXM.RegisterEmailOpened.ProcessRequest(HttpContextBase context) +348
   Sitecore.EmailCampaign.Cd.HttpHandlerBase.ProcessRequest(HttpContext context) +58
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +872
   System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +220
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +94

Example URL generated by EXM https://sdi101sc.dev.local//sitecore%20modules/Web/EXM/RegisterEmailOpened.ashx?ec_eq=fCr9nHgFz%2b%2fS5hD2dHJJD0jmfiIOr%2fRw5H%2b26Pxnzm7Bd33ZKFmJGCKY%2fmN2DDHJpjMk8Qq6XnUczvBJ6XVhQZHGa13YkZqXP4oXTdnvxTAHQLh99QWc3g5IyKTW300tS9zeD%2fgW7BVe%2feQVANALIrLwjVVjXmb9qEIyEqsAAZ4X4PigdKfJKseaP0KWNNxAcGI3pfOUffsdeIZWIv7GairL4eub%2bkKsDHvJ%2b0b2OdEs6%2faY5PV8yFD%2bLHjKD%2bT8

This is a regression from enabling Sitecore.ListManagement via the Feature.FormsExtensions.DependencyInjection.config without also enabling required services in App_Config\Sitecore\Marketing.Segmentation.xMgmt\Sitecore.Marketing.Segmentation.config

Suggestion:
Rather than go down this path of enabling ListManagement, I would consider extracting required functionality for List Subscription as required for the new SubscribeToList submit action.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant