0
Fixed

Unable to update pending export operation due to Null Exception

Richard Courtenay 6 years ago • updated by anonymous 3 years ago 4

I consistently get the following error if I attempt to modify an 'Pending Export' check operation

System.ArgumentNullException: Value cannot be null.
Parameter name: key
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
at System.Collections.Generic.Dictionary`2.ContainsKey(TKey key)
at Unify.EventBroker.Web.OperationController.<.ctor>b__6(UnifySiteMapNode node, UnifySiteNodeAttribute attribute, RequestContext context, IDictionary`2 dynamicValues, RouteData data, NameValueCollection postedData, NameValueCollection queryString) in c:\TeamCity\buildAgent\work\e1e11e299a05c3e1\Source\Unify.EventBroker.Web\Controllers\OperationController.cs:line 300
at Unify.Framework.Web.UnifySiteMapProvider`2.UpdateNodeForRequest(TNode node, TNodeAttribute nodeAttribute, RequestContext requestContext, IDictionary`2 dynamicValues, RouteData routeData, NameValueCollection postedData, NameValueCollection queryString) in c:\TeamCity\buildAgent\work\aad7920828b5b314\Source\Web\Unify.Framework.Web.SiteMap\UnifySiteMapProvider.cs:line 141
at Unify.Framework.Web.UnifySiteMapDynamicTree`2.FindNodeAndUpdateBranch(HttpRequest request, UpdateNode`2 updateNode) in c:\TeamCity\buildAgent\work\aad7920828b5b314\Source\Web\Unify.Framework.Web.SiteMap\UnifySiteMapDynamicTree.cs:line 207
at System.Web.SiteMapProvider.FindSiteMapNode(HttpContext context)
at System.Web.SiteMapProvider.get_CurrentNode()
at Unify.Framework.Web.UnifySiteMapExtensions.DecorateForm(HtmlHelper htmlHelper, Func`1 form, String submitText, String formId, String title, String name) in c:\TeamCity\buildAgent\work\aad7920828b5b314\Source\Web\Unify.Framework.Web.SiteMap\UnifySiteMapExtensions.cs:line 50
at ASP._Page_Views_Operation_CreateOutgoingPendingPlugInOperationChooseManagementAgent_cshtml.Execute() in c:\Program Files\UNIFY Solutions\Event Broker\Web\Views\Operation\CreateOutgoingPendingPlugInOperationChooseManagementAgent.cshtml:line 20
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.StartPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)

Reproduction Steps
1) On any Operation List, click 'Add Check Operation'
2) Select Operation: Pending export operation
3) select any Management agent
4) click create
5) click 'Edit check operation'
6) Click 'Update'

Expected behaviour:
At step 5 I expected either the 'select check operation' (step 2 above) or 'update operation' (page in step 3 above) page to display. Instead the 'Select Management Agent' page opens as if I was updating a Standard Operation, not a check operation.

Actual Result:
The same page yoyu would get if editing a normal 'run' operation is displayed. Clicking 'update' at this point takes you to the next page with the null exception noted above.

I have confirmed this is a defect.

I noticed whilst testing that the pending export operation update goes via the "select agent", whereas the SQL Server check operation does not.

In the OperationalController the site map provider definition was changed. Hidden post data was referenced incorrectly. According to IPluginConfigurationViewBase Id filed should have been referenced as "Id" not "pluginName" even though the Id means plugin name. Making a change to this will affect over 70 uses so this was not completed at this stage.

Reopened. Can't tell from the previous comment whether it was fixed or not.

Migrated to Visual Studio Online.