Skip to main content


 

Symptoms


When attempting to add an item to a list view and/or edit an item already present the following error was thrown:

Error Heading : SmartObject property ListName is a required property for selected method Create. Value must be set.

Details of an error : ?Type: System.NullReferenceException

?Source: SourceCode.SmartObjects.Client

?Method Base
?Member Type: Method

?Name: Validate

?Module
?Scope Name: SourceCode.SmartObjects.Client.dll

?Declaring Type
?Full Name: SourceCode.SmartObjects.Client.SmartObject

?Stack Trace:
at SourceCode.SmartObjects.Client.SmartObject.Validate(Boolean isList)

at SourceCode.SmartObjects.Client.SmartObjectClientServer.ExecuteScalar(SmartObject smartObject, DataTable inputTable)

at SourceCode.Forms.AppFramework.FormRuntime.SmartObjectExecution(BrokerSmartObject brokerSmo, SmartObjectBrokerMetaData brokerMetaData, Boolean outputDependencies, SmartObjectClientServer smoClientServer, Queue`1 soInstances)

at SourceCode.Forms.AppFramework.FormRuntime.WorkXmlToApi(BrokerPackageCollection packages, SmartObjectClientServer smoClientServer)

at SourceCode.Forms.AppFramework.FormRuntime.WorkXmlToApi(Stream input, Stream output)

at SourceCode.Forms.Runtime.AJAXCall.ProcessRequestInternal(HttpContext context)

 

Diagnoses



The root cause here was a ultimately an issue in the order of operations. Imagine two views A and B in this scenario view B was setting its parameters (which were used to execute the Create method) based upon values obtain from view A. The views A and B were initializing asynchronously and so because view A had yet to initialize view B could not obtain the needed parametrical values for itself.
 

Resolution

Switching the execution sequence from asynchronous to synchronous (one after the other) resolved this issue.




 
Be the first to reply!

Reply