Re: web serivce: client side timeout?



On Feb 8, 6:33 am, "John Saunders [MVP]" <john.saunders at
trizetto.com> wrote:
"hzgt9b" <celof...@xxxxxxxxx> wrote in message

news:afdfcff2-93cb-4092-9fd6-724f942d97e0@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Feb 7, 7:35 pm, "John Saunders [MVP]" <john.saunders at





trizetto.com> wrote:
"hzgt9b" <celof...@xxxxxxxxx> wrote in message

news:a0c37b20-24f7-40ca-8da3-960fc07e487f@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Feb 7, 11:53 am, "John Saunders [MVP]" <john.saunders at

trizetto.com> wrote:
"hzgt9b" <celof...@xxxxxxxxx> wrote in message

news:7408ea26-aea6-4cf3-8217-d3a4307cfe80@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Using VS2005, VB.NET,

BACKGROUND
I have a windows forms application that makes calls to a web service..
All my clients work on project provided laptops (all have exact same
set-up, configuration and software installations). The service is long
running (uploading large files) so to avoid timeouts we set the client
side timeout to be infinite:

Dim objWebService As New org.myCompany.myDomain.myServices
objWebService.Timeout = Timeout.Infinite

The server side timeout is set to have a long timeout window (30
minutes) also.

PROBLEM
Given this setup I would not expect timeouts to be possible from the
client side but only from the server side. But here is an error
message that some (not all) of my clients are getting:

System.Net.WebException: Unable to connect to the remote server ---
&gt; System.Net.Sockets.SocketException: A connection attempt failed
because the connected party did not properly respond after a period of
time, or established connection failed because connected host has
failed to respond
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot,
SocketAddress socketAddress)
at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean
connectFailure, Socket s4, Socket s6, Socket&amp; socket,
IPAddress&amp; address, ConnectSocketState state, IAsyncResult
asyncResult, Int32 timeout, Exception&amp; exception)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.GetRequestStream()
at
System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String
methodName, Object[] parameters)
at myApp.org.myCompany.myDomain.myServices.Upload(String,
DateTime , String, String, Object) at myApp.myClass.myMethod()

To me this looks like the client side is not able to reach the web
service and is timing out. Because I control what is installed on the
client machines I can rule out third party conflicts (fire walls,
anti-
virus, and such). Why else would I be getting a client side timeout
given my set-up (i.e. web service timeout set to infinite)? If this is
not a client side timeout please correct me! BTW, the web service is
on a secure site (https) and I do set the web service object's
credentials to a properly configured NetworkCredential object. Could
the credentials in my NetworkCredential object expire causing a
timeout (don't think so, just grabbing for straws)?

Note that this is a timeout on the connection attempt. Your client-side
timeout is not relevant in this case.

You should consider adding retry code that traps this specific exception
and
tries again a certain number of times.
--
---------------------------------------------------------------------------­­­-----
John Saunders | MVP - Windows Server System - Connected System
Developer-
Hide quoted text -

- Show quoted text -

So whats the difference betweent the connection attempt and the web
service connection?

=======
Before the client can communicate to the server, a TCP/IP connection needs
to be established. It is that process that is timing out in your case.

Once the connection is established, data can be sent and received using
the
TCP/IP connection. This is the timeout you configured to be infinite.
--
---------------------------------------------------------------------------­­-----
John Saunders | MVP - Windows Server System - Connected System Developer-
Hide quoted text -

- Show quoted text -

Thanks for the prompt replyies:
Obvious next question: if I configured the timeout to be infinite then
why would I get a timeout and why is my "...client-side
timeout is not relevant in this case"? I have some retries in the
application, I'm just trying to understand the root cause behind the
(now identified TCP/IP) timeouts...
======
I'm sorry if I wasn't clear.

There are two separate kinds of timeout involved: the connect timeout and
the "transport timeout". You have no control over the connect timeout.
That's the one that timed out for you this time. The "transport timeout" is
the one you're setting to infinite. It only takes effect after a connection
has been established. Since no connection was established in your case, the
"client-side timeout is not relevant".
--
---------------------------------------------------------------------------­-----
John Saunders | MVP - Windows Server System - Connected System Developer- Hide quoted text -

- Show quoted text -

Thanks for the clarification.

So then what can cause the "connection" timeout to occur?

I don't see this issue will all my clients (and some have it more
server than others) - this makes me think the connection is not
related to the server but an issue outside of their machine but not
the server.
.



Relevant Pages

  • Re: detecting the (brute) disconnection of a client
    ... crashed, and if an exception occurs, then the client is deconnected. ... You can either use the timeout itself as an indication of connection ... it would be better to simply let the server continue to assume that ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: .Net Scalability problem
    ... LoadRunner will peak out a server with a few virtual users. ... To get an idea of load, ... Fire off the test client and watch the number of ... > So I think that the MTC generate concurrent connection and per ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: Connection lost at same time every hour (sometimes)
    ... After making the two following alterations on the server the problem seems ... After analyze your ipconfig on SBS and client, ... Then, other connection is good, ...
    (microsoft.public.windows.server.sbs)
  • Re: server disconnection - very often
    ... Reason of permanent popups is VMware server aplication on clients. ... Run CEICW to configure the network of SBS: ... Two network adapters - manual router connection to broadband ... Uninstall VMware on client. ...
    (microsoft.public.windows.server.sbs)
  • Re: Lan setup 2 nic
    ... The external nic only has TCP/IP enabled. ... Ipconfig of the server is looking good, but the client is still missing the ... > connection so we have a 2 nic with router setup now. ...
    (microsoft.public.windows.server.sbs)