Symptoms
Post migration of the sharepoint sites to another farm. The old farm was configured with Kerberos authentication whilst the new one new one was configured with NTLM... after migration some of the K2 smart forms worked fine but some fail to load with the "The request failed with the error:
The request failed with HTTP status 401: Unauthorized.
•Type: SourceCode.SmartObjects.Client.SmartObjectException
•Source: SourceCode.SmartObjects.Client
•Method Base
◦Member Type: Method
◦Name: GetSmartObjectReader
◦Module
Scope Name: SourceCode.SmartObjects.Client.dll
◦Declaring Type
Full Name: SourceCode.SmartObjects.Client.SmartObjectClientServer
•Stack Trace:
at SourceCode.SmartObjects.Client.SmartObjectClientServer.GetSmartObjectReader(SmartObject smartObject, ExecuteListReaderOptions options, Dictionary`2and propertyReference)
at SourceCode.SmartObjects.Client.SmartObjectClientServer.ExecuteListReader(SmartObject smartObject, ExecuteListReaderOptions options)
at SourceCode.Forms.AppFramework.FormsApiToXml.ToXmlList()
at SourceCode.Forms.AppFramework.FormRuntime.SmartObjectExecution(XPathNavigator nav, Boolean outputDependencies, SmartObjectClientServer svr)
at SourceCode.Forms.AppFramework.FormRuntime.WorkXmlToApi(String xml)
at SourceCode.Forms.Runtime.AJAXCall.ProcessRequest(HttpContext context)
Diagnoses
This turned out to be an issue with hidden columns. It looks like that post SP migration the service instance was having problems seeing the effectively new sharepoint material and this effectively caused all the service instances with smos looking at lists/libraries with hidden columns to start acting up.
Resolution
We discovered that we could unhide the hitherto hidden columns, refresh the service instance and then hide the columns again and this return everything to a working state.