Note that there are some explanatory texts on larger screens.

plurals
  1. POAzure web role trouble accessing external web service
    text
    copied!<p>I have an Azure web role that accesses an external WCF based SOAP web service (port 80) for various bits of data. The response from this service is highly erratic. I routinely get the following error.</p> <blockquote> <p>There was no endpoint listening at <a href="http://www.myexternalservice.com/service.svc" rel="nofollow">http://www.myexternalservice.com/service.svc</a> that could accept the message. This is often caused by an incorrect address or SOAP action.</p> </blockquote> <p>To isolate the problem I created a simple console app to repetitively call this service in 1 second intervals and log all responses.</p> <pre><code> using (var svc = new MyExternalService()) { stopwatch.Start(); var response = svc.CallService(); stopwatch.Stop(); Log(response, stopwatch.ElapsedMilliseconds); } </code></pre> <p>If I RDP to one of my Azure web instances and run this app it takes 10 to 20 attempts before it gets a valid response from the external service. These first attempts are always accompanied by the above error. After this "warm up period" it runs fine. If I stop the app and then immediately restart, it has to go back through the same "warm up" period.</p> <p><strong>However</strong>, if I run this same app from any other machine I receive valid responses immediately. I have run this logger app on servers running in multiple data centers (non Azure), desktops on different networks, etc... These test runs are always very stable.</p> <p>I am not sure why this service would react this way in the Azure environment. Unfortunately, for the short term I am forced to call this service but my users cannot tolerate this inconsistency.</p> <p>A capture of network traffic on the Azure server indicates a large number of <strong>SynReTransmit</strong>'s in 10 second intervals during the same time I experience the connection errors. Once the "warm up" is complete the SynReTransmit's no longer occur.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload