axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jens Schumann <>
Subject Socket Timeouts for Axis Clients
Date Mon, 24 Mar 2003 09:08:19 GMT
As a follow up to the "HTTP Connection Hang" discussion and my "SOTimeout"
post on axis-user here a few thoughts:

Some broken load balancers in our network configuration caused hanging
connections calling WebServices using Axis Clients (1.1RC2). Since the
generated Axis Client Code does not set a default socket timeout the calling
thread was blocking forever, something which wasn't as obvious as it could
be. A default socket timeout would have been wonderful ;)

With the current client code I am unable to set the socket timeout directly,
so I need to alter the generated code to set a socket timeout for the
underlying HttpSender. You may argue easy to fix, but there is another
problem: The client code throws RemoteExceptions (and AxisFaults) only, so I
am unable to treat local and remote failures differently. Analyzing Axis
fault Strings isn't the best way to implement Exception handling.

I am somewhat short on time and thus being said I hope someone else might be
able to implement the following changes ;(.

1. Set default socket timeout for Axis Clients to 30 or 60 seconds.
2. Generate code which allows to set the socket timeout for the axis client
3. Add a local exception (IOException?) to the exposed web service
operations to allow better handling of local (socket) exceptions.

I think 1 & 2 should be easy to fix, but 3 will break backwards


View raw message