We have an ASP.NET application with an InfoPath forms component, delivering InfoPath forms to the browser using InfoPath Forms Server. Rather than save the forms in SharePoint, we submit the XML form data to a ASP.NET web service, which saves the data as an XML data type in SQL Server 2005. This is working fine, and we have no issues loading the XML data back into the InfoPath form.
Our issue comes when we try to load old data ( from Version 1 of the form) into a new version of the form (Version 2). This new version of the form (V2) has a new textbox field, for example. Because the V2 field does not exist in the V1 XML, they are visible on the V2 form, but are disabled and cannot be filled.
Our question is how do we load V1 XML data into V2 forms, and have the user be able to complete those fields which are now present in V2 of the form.
This behaviour is possible using InfoPath Forms Server and forms stored in a Form Library. if you update the Form Template, you can open old forms in the new template, see the new fields, and can save data in the new fields. We need to know how to do it programmatically when the Form XML data is stored in SQL Server, rather than a Form Library.