Thanks Jim. One problem I see with your solution is that it retries on *every* exception, which is not what we want (or do we?). I'll give it a try.
Hannes Jim Redman wrote: > > The code in the exception clause of: > > public void write (byte[] request) throws IOException > > in XmlRpcClientLite does not seem to be effective in handling > keep-alive timeouts. The solution that works for me is to repeat the > call to: > > Object execute (String method, > Vector params) throws XmlRpcException, IOException > { > > the code we've been using looks like this: > > public Object execute (String method, Vector params) > throws XmlRpcException, IOException > { > try { > return executeInternal(method, params); > } catch (Exception e) { > System.err.println("Warning: Execute Internal (" + method + ") > - " + e.getMessage() + " transient error - retrying"); > } > > // we'll give it two attempts, if it fails the first time it will > // come here for a retry > client = null; // make sure > return executeInternal(method, params); > } > > > public Object executeInternal (String method, Vector params) > <<<<----- the old execute method > throws XmlRpcException, IOException > { > > Unless someone has a better solution, I'd like to get the code into > the distro so that I don't have to modify future releases of the library. > > Jim >