This is in continuation to my earlier post where some of our end users running low B/w were experiencing random soap fault events using our application. I dont have a solution outright but i have made attempts to minimize a lot of these errors
This is the description of the fault errors we were encountering - fault String = "SOAP Message cannot be decoded. Raw Response : null" fault Code = SOAP Decode Error
So where do i start, what do i nail down? I knew, I wanted to first simulate a low bandwidth in my office machine. Talking to our network administrator was of little or no use (no offense!). I kept googling searching for tools that can reduce the network bandwidth only on my machine. Thanks to Vaideki, who found me this link that helped a lot (a link on raymond's blog archive)
I downloaded Shunra Nimbus from this URL that would exactly simulate a very low bandwidth only on my machine in the network. After installing it, all i have to do is select the speed i want (the reading is in kilobits or divide by 8 for kilobytes) and hit the play button. Browse to the URL http://www.speedtest.net to check the upload and download time.
Now that I have the lowest possible band-width set on my machine, I started to run my application with fiddler on, so i could monitor the http traffic going over the network. Due to very low speed, I have found some interesting results. The amount of time taken to load my swf file (which was around 1.5mb) was really high. I turned on RSLs to reduce the size of my actual swf. This bettered my download time but boom, errors... errors.. errors...
I was seeing them as HTTP 504 Errors in the fiddler. During the creationComplete() were were loading the WSDL's (multiple) and one or two will load fine and then rest will give HTTP 504 errors.
The problem was we were loading multiple wsdl's in a sequence. I changed the code to load these multiple wsdl's sequentially by waiting for LoadEvent.LOAD. After the first wsdl is loaded, it fires the LOAD event and then proceed with loading the second wsdl and so on... This completely got rid of the HTTP 504 errors when running very low bandwidth..
0 comments:
Post a Comment