HI Everyone
Posting this in general rather than webservices as this is really related to an Infopath configuration issue, rather than the mechanics of a webservice call.
Hoping someone might be able to help with fixing a major cause for slow infopath load times that we have. We have some forms which use the onload function to make calls to several webservices to retrieve current data to populate drop down losts on the forms. Unfortuantely some of the returned data is quite large and for remote users can take some time before the form is usable. I have reviewed the normal suggestions on performance however I have found another cause of the slowness that maybe someone else has also seen.
When Infopath sends the webservice request the raw HTTP traffic sends the standard HTTP headers as part of the request. It appears that InfoPath does not send "Accept-Encoding: gzip, deflate" in the header so the returned data stream is totally uncompressed. The returned data stream is text\XML so it should compress quite nicely, in fact we have other parts of our web application that make the same calls and get compressed responses.
Does anyone know of any way to get Infopath to append into its HTTP request header the accept_encoding settings to allow the compression of the response. In theory from my research this should work if it can be done as InfoPath will be using the WININET engine to make the call and it is normally inside this engine where compression\decompression occurs.
If this setting can be changed it would actually have significant performance improvements not just for us but for a lot of other Infopath users as well as I see that there is a lot of references here to performance issues with Infopath and it getting data from external sources.
We are using InfoPath 2003 SP3 however the behaviour is the same with 2007 as well.