Hello Jeff, do u have any idea abou this issue : "http://www.nabble.com/Axis2-File-Caching-t4402803.htm"
Tnx in advance, Fahd. Elmouj wrote: > > Hi Jeff, > > I've been out of office the last 2 days and I've just came. Well for > the problem, I have found a way to solve it using Phases in Axis2 (this is > directly related to what you have said about handlers :) ). a solution > (for anybody who may need it) is to created a class called MyPhase that > extends the org.apache.axis2.engine.Phase class. instantiate an object > from this class and insert it at the end of the Output Pipe so that to be > executed last. The org.apache.axis2.engine.Phase class has a method called > 'flowComplete' which will be called on each registered handler that had > its invoke(...) method called during the processing of the message, once > the message processing has completed. The code to execute after the last > byte is sent to the client (in my case deleing a file) is put in this > method and since there is no handler in the phase we created (MyPhase), > this method will be called right after the phase on the top of our phase > in the Output pipe has finished. > > Thanks for your concern Jeff > > Fahd. > > A phase can be added to the Output Pipe using: > outMessageContext.addOutboundExecutedPhase(MP); Where outMessageContext is > the output MessageContext and MP is a MyPhase Object > > dreamryder wrote: >> >> Well, >> I'm not that knowledgeable on Axis 2 (I'm an old Axis 1.3 guy) but >> anyway, a handler is another class you write and register that can be >> called on incoming requests (gets entire soap msg before the impl gets >> it) and on outgoing responses (gets soap msg after the impl has finished >> with it), for both client and service. There is a good example in the >> Axis2 samples. The example I am referring too is called >> userguide/loggingmodule. This should give you a feel for how a handler >> looks and gets registered. >> Again, using handlers is just one way of doing it. >> -jeff >> >> >> -----Original Message----- >> From: Elmouj [mailto:[EMAIL PROTECTED] >> Sent: Wednesday, September 05, 2007 11:20 AM >> To: axis-user@ws.apache.org >> Subject: RE: Axis2 events handling >> >> >> Hi jeff, >> >> thanks for your concern. Can you please be clear on "using response >> handler" because I don't know if this is an interface that we need to >> implement or ... for me the last thing I do in the server side is a >> simple >> return of an OMElement. >> here is the signature of my methof if it could help: >> ************************************************************************ >> ******* >> OMElement encryptFile(String attchmentID, String keyID,String >> applicationID, >> String applicationPassword) >> ************************************************************************ >> ******* >> >> thanks again, >> >> Elmouj, >> >> >> dreamryder wrote: >>> >>> You could do it another way. >>> If you don't trust the client to return an ack, then the last piece of >>> code on the serverside that can get called is a response handler. In >> the >>> response handler, you get access to the entire soap message. The >>> response handler will not get the response soap message until the >>> implementation has completed its processing (hence the streaming of >> the >>> output file must have completed too). Therefore, you could do the file >>> deletion, or the triggering at least, in the response handler. >> (Response >>> handlers are meant for post-processing work, such as cleanup). >>> -jeff >>> >>> >>> -----Original Message----- >>> From: Andrew Martin [mailto:[EMAIL PROTECTED] >>> Sent: Wednesday, September 05, 2007 10:05 AM >>> To: axis-user@ws.apache.org >>> Subject: Re: Axis2 events handling >>> >>> How are you passing the file to Axis2? If you're just passing an >>> InputStream, you could write your own wrapper FilterInputStream that >>> erases the file in its close method or in its read methods whenever -1 >>> is returned. >>> >>> Andrew >>> >>> Elmouj wrote: >>>> Hello Upul, >>>> >>>> Thanks for your reply. Actually this will work and I have >>> already >>>> thought about it; the problem I found with this solution is that the >>>> deletion of the file (in the server side) is after an acknowledgment >>> FROM >>>> the client. this ACK could be easily bypassed: I mean, no one is >>> obliging >>>> people using my service to develop a client that acknowledges receipt >>> of the >>>> file !!! hence making it possible for the file to reside on the >>> server. For >>>> your concern about if the file is lost, this is not a problem because >>> the >>>> file the server sends to a client is an encryption of a file sent >> from >>>> Client to Server, hence if there is any problem (which is very very >>> very >>>> rare since Axis2 over TCP is almost error free I guess), the client >>> will >>>> just re-request the encryption of his file. So, I am really looking >>> for a >>>> thing that tells me that the last byte has been sent to the client. >>>> >>>> Thanks again, >>>> >>>> Elmouj, >>>> >>>> >>>> Upul Godage wrote: >>>>> Hi, >>>>> >>>>> If you mean you are having a web service which provides files on >>> request, >>>>> let's say, requested by reference number, best thing to do is to >> have >>>>> another operation in the web service. So that after client gets the >>>>> payload >>>>> and, let's say client has processed or saved it successfully, it >> will >>> call >>>>> that operation, saying 'got the payload okay for this reference >>> number.' >>>>> Otherwise even though the file is transferred successfully, there >>> could be >>>>> an exception on the client side and the file is lost from both >> sides. >>>>> >>>>> Upul >>>>> >>>>> >>>>> On 9/5/07, Elmouj <[EMAIL PROTECTED]> wrote: >>>>>> >>>>>> >>>>>> Hello, >>>>>> >>>>>> I have been using Axis2 for a month now and it's really powerful >> and >>> easy >>>>>> to >>>>>> use. However, the last two days I got stuck looking for a way to >>> access >>>>>> an >>>>>> event triggered when the last byte of the server response is sent >> to >>> the >>>>>> client; so I decided to post on this forum hoping to get a clue to >>> this >>>>>> issue :( . In other words, I want a way by which I could be >> informed >>> when >>>>>> the last byte of the server's response is sent because I need to >>> execute >>>>>> some tasks after this event has been triggered (I need to delete a >>> file >>>>>> after the client downloads it). >>>>>> >>>>>> Thanks in advance, >>>>>> >>>>>> Elmouj >>>>>> -- >>>>>> View this message in context: >>>>>> >> http://www.nabble.com/Axis2-events-handling-tf4383721.html#a12496874 >>>>>> Sent from the Axis - User mailing list archive at Nabble.com. >>>>>> >>>>>> >>>>>> >>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>>> >>>>>> >>>>> >>>> >>> >>> -- >>> Andrew Martin >>> Computer Programmer >>> Regenstrief Institute, Inc. >>> 410 West 10th Street, Suite 2000 >>> Indianapolis, IN 46202-3012 >>> Phone: (317) 423-5542 >>> Fax: (317) 423-5695 >>> [EMAIL PROTECTED] >>> >>> >>> Confidentiality Notice: The contents of this message and any files >>> transmitted with it may contain confidential and/or privileged >>> information and are intended solely for the use of the named >>> addressee(s). Additionally, the information contained herein may have >>> been disclosed to you from medical records with confidentiality >>> protected by federal and state laws. Federal regulations and State >> laws >>> prohibit you from making further disclosure of such information >> without >>> the specific written consent of the person to whom the information >>> pertains or as otherwise permitted by such regulations. A general >>> authorization for the release of medical or other information is not >>> sufficient for this purpose. >>> >>> If you have received this message in error, please notify the sender >> by >>> return e-mail and delete the original message. Any retention, >>> disclosure, copying, distribution or use of this information by anyone >>> other than the intended recipient is strictly prohibited. >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/Axis2-events-handling-tf4383721.html#a12499992 >> Sent from the Axis - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > > -- View this message in context: http://www.nabble.com/Axis2-events-handling-tf4383721.html#a12583700 Sent from the Axis - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]