Calling an external webservice, sometimes we get "operation has timed out."
the full stack trace is below (I've just replaced personal info).
The webservice provider suggested it timed out trying to connect to their
service which may be related to network issues. I don't see that information
in the stack trace. How do you even begin to debug this to determine if it's
on our end or theirs?
Thanks!
at
System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest
request)
at
System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest
request)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String
methodName, Object[] parameters)
at <WebServiceProviderProxyName>.<WebMethod>(param1, param2, etc.)
at <MyApp><MyClass><MyMethodThatCallsWebMethod>
at <MyPage>.Page_Load(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at <MyPage>.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain()
Josh Twist - 16 Feb 2006 07:53 GMT
>From the stack trace you can't really tell who's end the problem is. I
would imagine you'd normally get a different error if the host couldn't
be resolved but I'm not 100% sure this covers all bases.
Can you reach their web service (maybe just the help page or WSDL) in a
browser? Do you need to have a proxy setup to access external resources
in your office maybe? Have you tried increasing the timeout of your
proxy to see if a response ever comes?
Otherwise I'd suggest using some kind of packet trace tool like
Ethereal (http://www.ethereal.com/) so you can see if a connection was
established with the host.
Good luck
Josh
http://www.thejoyofcode.com/