Hi,

I'm trying to make a GUI application which is getting data through
SOAP using Apache Axis.

User can make a request for fetching data (by pressing some button),
after which action he can deside, he don't need that data - by
pressing stop button.

When a user presses that "request" button, I create new thread with
SOAP call (create service, get call, call.invoke). And when he presses
stop button and this new thread is still running, I need to abort
call.invoke (close the socket throught which more data is coming - I
need to do something similar to pressing stop button in your browser.
If response is very long, you can stop it. I need the same thing, but
with SOAP response). Anyone knows how can I do that (if it's
impossible using axis, anyone knows of other RPC method, which
supports it)?

Thanks for any advice,

Petr

------------------------

sample scenario:

-- user requests data
-- new thread created, SOAP service created, call.invoke called
-- short SOAP request sent over network
-- very long SOAP response is coming (~ 4MB over 256kbit line, 15 seconds total)
-- user pressed stop button (10 seconds of transfer still left)
-- I need to close socket and don't accept data. Because I don't know,
how to abort call.invoke, I let it finish and than throw away the
received data. It's really stupid - user's line is fully loaded and
for nothing. And he can press the "request" button again and now we
have two responses coming (one valid, one old) - and this kills my
application

Reply via email to