Setup:
- InfoPath form published as a webform.
- 6 x call to a webservice (1 time on form load to populate a dropdown box and 5 times after button click to get data with 2 filters).
- Data comes from a SQL Server DB and it's loaded via stored procedures.
- Webservice gives back an XML structure with all the matched records.
- Stored procedures:
° Form Load:
sp_getParochie: 14 records
° Button click
sp_getStatement_1: 189 records
sp_getStatement_2: 220 records
sp_getStatement_3: 2 records
sp_getStatement_4: 39 records
sp_getStatement_5: 26 records
- Behind form code to load repeating tables (19) with data from complex select statements.
- Form with 20 views.
- +- 750 fields and calculated fields that needs to get filled by the web service.
Everything works fine with the InfoPath Filler (6 seconds to load all test data into the form) but if I use the webform it takes like 6 to 8 minutes.
I've already reduces the select statements to the minimum of columns that I need and that had an influence on the filler but the webform time kept the same.
I've also debugged the webservice and it works fast to fill the stringbuilder with the xml structure. I think the issue is filling the fields of the form because between the load of the different secondary datasources it takes a lot of time.
All the fields are connected to the secondary datasource with the Xpath value so at the moment the datasource gets filled it fills the fields in my form.
How can I get the performance a lot faster because this is a big issue! I didn't find anything on the web...
I've also remarked some other differences between webforms and filler forms (formatting rules get lost, outlining fields goes wrong, ...)