> >Apache SOAP runs on J2SE 1.2 and later.  As such, it cannot use
> >Socket#connect, which was added in J2SE 1.4, I believe.
>
> You're correct.  Unfortunately, this 100 sec timeout is a big problem
for
> me; I need to find a workaround.
>
> - I'm not knowledgable about packaging binary jars; is there a way to
> conditionalize the HTTPUtils code so that on JDK1.4 and above the
not-broken
> socket API is used?

Yes.

> - Is there a way to override the 100 sec timeout through a system
property?

Not really.  I assume it is actually the result of TCP/IP retransmission
and exponential backoff.  The TCP/IP stack is configured with a number
of re-transmits and an initial timeout value.  Apparently, these combine
to give you the approximately 100 second timeout you see.  If this is
the case, you could change the OS parameters (at least on Linux and
Win32), but this would affect all TCP/IP activity.

> - Is there a way to interrupt the socket constructor?

It may be interruptable: run the soap call on its own thread and start a
timer on another.  If the timer goes off while the soap call thread is
still running, stop the soap call thread.  I'm not sure that Socket() is
interruptable, though.

> Last resort for me is to create a private SOAP lib with the problem
fixed
> using the 1.4 socket calls, but I hate doing stuff like that.

Of course, you can use the soap.jar untouched, but put a different
HTTPUtils implementation earlier in your classpath.  Sleezy, but easy to
back out off if/when the "sanctioned" soap.jar does what you need.

Scott Nichol


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to