Re: web serivce: client side timeout?
- From: hzgt9b <celoftis@xxxxxxxxx>
- Date: Mon, 11 Feb 2008 07:58:43 -0800 (PST)
On Feb 8, 3:36 pm, "John Saunders [MVP]" <john.saunders at
trizetto.com> wrote:
"hzgt9b" <celof...@xxxxxxxxx> wrote in message
news:4417945f-0c73-4d03-9023-28c46925f6b9@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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 ---
> 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& socket,
IPAddress& address, ConnectSocketState state, IAsyncResult
asyncResult, Int32 timeout, Exception& 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.
======
The issue could be anywhere, even on the server. The connection timeout
simply means that the connection did not occur in time. In fact, it could
mean that the connection would never have occurred, no matter how long you
wait. Obviously, this could be caused by anything, from a temporary failure
of a router, to the server being hit by a meteor (somewhat less temporary)!
--
--------------------------------------------------------------------------------
John Saunders | MVP - Windows Server System - Connected System Developer- Hide quoted text -
- Show quoted text -
Ok, thanks for the replies.
.
- References:
- web serivce: client side timeout?
- From: hzgt9b
- Re: web serivce: client side timeout?
- From: John Saunders [MVP]
- Re: web serivce: client side timeout?
- From: hzgt9b
- Re: web serivce: client side timeout?
- From: John Saunders [MVP]
- Re: web serivce: client side timeout?
- From: hzgt9b
- Re: web serivce: client side timeout?
- From: John Saunders [MVP]
- Re: web serivce: client side timeout?
- From: hzgt9b
- Re: web serivce: client side timeout?
- From: John Saunders [MVP]
- web serivce: client side timeout?
- Prev by Date: Re: writing/publishing/consuming
- Next by Date: Re: Adding Web Service Reference from SharePoint lower level site
- Previous by thread: Re: web serivce: client side timeout?
- Next by thread: Having trouble successfully deploying WCF service to public web site
- Index(es):
Relevant Pages
|
|