You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We noticed that the Subscribe to list action doesn't work every time. It seems that it doesn't work on CD and I believe I found why. This might be high priority as it renders one of the key features unusable.
The following error is thrown upon form submission:
Exception: System.NullReferenceException
Message: Object reference not set to an instance of an object.
Source: Feature.FormsExtensions
at Feature.FormsExtensions.SubmitActions.SubscribeToList.SubscribeToListAction.Execute(SubscribeToListData data, FormSubmitContext formSubmitContext)
at Sitecore.ExperienceForms.Processing.Actions.SubmitActionBase1.ExecuteAction(FormSubmitContext formSubmitContext, String parameters) at Sitecore.ExperienceForms.Mvc.Pipelines.ExecuteSubmit.ExecuteActions.Process(ExecuteSubmitActionsEventArgs args) at (Object , Object ) at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists) at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain) at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args) at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs,TResult](String pipelineName, TArgs args, Func2 resultGetter)
at Sitecore.ExperienceForms.Mvc.Processing.FormSubmitHandler.ExecuteSubmitActions(FormSubmitContext submitContext)
at Sitecore.ExperienceForms.Mvc.Processing.FormSubmitHandler.Submit(FormSubmitContext submitContext)
at Sitecore.ExperienceForms.Mvc.Controllers.BaseFormBuilderController.ProcessFormData(FormDataModel data)
at Sitecore.ExperienceForms.Mvc.Controllers.FormBuilderController.Index(FormDataModel data)
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass24_0.<InvokeActionMethodWithFilters>b__0() at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
It looks like the nullref exception is thrown in Feature.FormsExtensions.SubmitActions.SubscribeToList, line 56 (SubscriptionService.Subscribe().
There is a Sitecore.ListManagement.Services.config file which inserts a CustomServiceConfigurator:
<?xml version="1.0" encoding="utf-8" ?>
<configurationxmlns:patch="http://www.sitecore.net/xmlconfig/"xmlns:set="http://www.sitecore.net/xmlconfig/set/"xmlns:role="http://www.sitecore.net/xmlconfig/role/">
<sitecorerole:require="Standalone or ContentManagement">
<!-- SITECORE SERVICES WEB API FILTERS Specifies the list of Web API filters to load for request handling-->
<api>
<services>
<configuration>
<allowedControllershint="list:AddController">
<allowedControllerdesc="ActionsController">Sitecore.ListManagement.Services.ActionsController, Sitecore.ListManagement.Services</allowedController>
<allowedControllerdesc="ContactListController">Sitecore.ListManagement.Services.ContactListController, Sitecore.ListManagement.Services</allowedController>
<allowedControllerdesc="ContactsController">Sitecore.ListManagement.Services.Controllers.ContactsController, Sitecore.ListManagement.Services</allowedController>
<allowedControllerdesc="ExportController">Sitecore.ListManagement.Services.Controllers.ExportController, Sitecore.ListManagement.Services</allowedController>
<allowedControllerdesc="ImportController">Sitecore.ListManagement.Services.ImportController, Sitecore.ListManagement.Services</allowedController>
<allowedControllerdesc="SecurityController">Sitecore.ListManagement.Services.SecurityController, Sitecore.ListManagement.Services</allowedController>
<allowedControllerdesc="SegmentController">Sitecore.ListManagement.Services.Controllers.SegmentController, Sitecore.ListManagement.Services</allowedController>
<allowedControllerdesc="ListController">Sitecore.ListManagement.Services.Controllers.ListController, Sitecore.ListManagement.Services</allowedController>
<allowedControllerdesc="SegmentedListController">Sitecore.ListManagement.Services.Controllers.SegmentedListController, Sitecore.ListManagement.Services</allowedController>
</allowedControllers>
</configuration>
</services>
</api>
<services>
<configuratortype="Sitecore.ListManagement.DependencyInjection.CustomServiceConfigurator, Sitecore.ListManagement" />
<configuratortype="Sitecore.ListManagement.XConnect.Web.DependencyInjection.CustomServiceConfigurator, Sitecore.ListManagement.XConnect.Web" />
<configuratortype="Sitecore.ListManagement.Services.DependencyInjection.CustomServiceConfigurator, Sitecore.ListManagement.Services" />
</services>
</sitecore>
</configuration>
This CustomServiceConfigurator is responsible for registering the SubscriptionService. But as you can see this config is only inserted on Standalone & ContentManagement roles, and not on ContentDelivery roles. This causes the nullreference when trying to use the Subscribe To List Action on CD.
Possible fixes:
Configure the CustomServiceConfigurator in the Feature.FormsExtensions Module.
Create a FormsExtensionsServiceConfigurator that registers the SubscriptionService on CD nodes.
Afaik this is applicable for all supported Sitecore versions, so all packages might need to be updated.
The text was updated successfully, but these errors were encountered:
I'd like to watch this thread since I'm having kind of the same issue. I created a form with only 3 fields (name, last name, and email), added the "Subscript to List" action, and when the form is submitted, the contact is not properly saved in the Contact List:
Hi,
We noticed that the Subscribe to list action doesn't work every time. It seems that it doesn't work on CD and I believe I found why. This might be high priority as it renders one of the key features unusable.
The following error is thrown upon form submission:
It looks like the nullref exception is thrown in Feature.FormsExtensions.SubmitActions.SubscribeToList, line 56 (SubscriptionService.Subscribe().
There is a Sitecore.ListManagement.Services.config file which inserts a CustomServiceConfigurator:
This CustomServiceConfigurator is responsible for registering the SubscriptionService. But as you can see this config is only inserted on Standalone & ContentManagement roles, and not on ContentDelivery roles. This causes the nullreference when trying to use the Subscribe To List Action on CD.
Possible fixes:
Afaik this is applicable for all supported Sitecore versions, so all packages might need to be updated.
The text was updated successfully, but these errors were encountered: