If your spawning a new thread to handle the 'request and invoke', I
would imagine all you need to do is to terminal that thread and forward
to the client a custom response of your choice like 'request
successfully terminated, try again ?'

Once your at this point you can consider further options to clean up the
provider if that's a concern.


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: 25 January 2005 14:13
To: [EMAIL PROTECTED]
Subject: abort call.invoke (SOAP client call)

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


----------------------------------------------------------------------------------------------
Did you know?

Xchanging manage over 450,000 claims a year for the London Insurance Market, to 
a combined value of 10 billion pounds.

Xchanging settle over 62 billion pounds of insurance business between over 300 
companies in a global customer network.

Visit www.xchanging.com for more details
----------------------------------------------------------------------------------------------



-----------------------------------------------------
THE INFORMATION IN THIS E-MAIL AND IN ANY ATTACHMENTS IS CONFIDENTIAL

AND MAY BE PRIVILEGED OR OTHERWISE PROTECTED FROM DISCLOSURE. 
IF YOU ARE NOT THE INTENDED RECIPIENT AND HAVE RECEIVED IT IN ERROR YOU ARE ON 
NOTICE OF ITS STATUS. 
PLEASE NOTIFY THE SENDER IMMEDIATELY BY RETURN EMAIL AND THEN DELETE THIS EMAIL 
AND ANY ATTACHMENT FROM YOUR SYSTEM. 
YOU MUST NOT RETAIN, COPY OR USE THIS E-MAIL OR ANY ATTACHMENT FOR ANY PURPOSE, 
NOR DISCLOSE ALL OR ANY PART OF ITS CONTENTS TO ANY OTHER PERSON: 

TO DO SO COULD BE A BREACH OF CONFIDENCE

EMAIL MAY BE SUSCEPTIBLE TO DATA CORRUPTION, INTERCEPTION AND UNAUTHORISED 
AMENDMENT, 
AND WE DO NOT ACCEPT LIABILITY FOR ANY SUCH CORRUPTION, INTERCEPTION OR 
AMENDMENT OR THE CONSEQUENCES THEREOF. 

WE MAY MONITOR THE CONTENT OF EMAILS SENT AND RECEIVED VIA OUR NETWORK FOR 
VIRUSES OR UNAUTHORISED USE AND FOR OTHER LAWFUL BUSINESS PURPOSES. 
WE DO NOT ACCEPT RESPONSIBILITY FOR ANY LOSS OR DAMAGE ARISING FROM A VIRUS IN 
ANY EMAIL OR ATTACHMENT.

-----------------------------------------------
[EMAIL PROTECTED]

Reply via email to