Hi, In the case described below you would have to write a custom module that understood RM protocol msgs as a createSeq msg will always be sent before an application request and the custom module is only interested in the application request. Would we not be reinventing the wheel as the RM provider is already written to handle these.
To me it makes sense to have the custom module after the RM module. Could you have a service doing the validation rather than a custom module? Dave Dave Parsons Web Services Development INTERNAL: David Parsons1/UK/i...@ibmgb :: DE3F20 :: 246930 EXTERNAL: [email protected] :: (01962) 816930 Mail Point 211, IBM Hursley Park, Winchester. SO21 2JN From: Amila Suriarachchi <[email protected]> To: David Parsons1/UK/i...@ibmgb Cc: [email protected] Date: 15/05/2009 07:02 Subject: Re: How to stop sandesha to resend the request, if there is an error in custom module hi, I think this is regarding the discussions happen at the axis2 dev list[1] I could also got a similar issue by doing this. This is what I did. First write a sample RM scenario either for inonly or inout. Then engage a handler (before RMPhase ) at the server side to InFlow which always throws an AxisFault. In this case When client sends the CreateSequenceRequest message it receives a soapFault. Since RM Client does not receive an CreateSequenceResponse it try to resend the message until it gets a createSequenceResponse but never get it. I think the correct behaviour is to throw the received exception to the client and terminate the sequence at that point. I think RM should only try to deal with the network failures but getting a soapFault from the server indicates a problem with the server. thanks, Amila. [1] http://marc.info/?t=124222127800004&r=1&w=2 On Thu, May 14, 2009 at 5:34 PM, David Parsons1 <[email protected]> wrote: Hi, I'm a bit confused on what you are trying to do. Sandesha will resend (from the client) the request message until it receives an ack for that request, which will be sent by Sandesha at the provider side. At what point in the chain are you doing your validation? If it is after sandesha on the client side then the only way to stop sandesha resending the request message is to have it be processed by the sandesha provider and therefore have an ack for the request sent. Dave Dave Parsons Web Services Development INTERNAL: David Parsons1/UK/i...@ibmgb :: DE3F20 :: 246930 EXTERNAL: [email protected] :: (01962) 816930 Mail Point 211, IBM Hursley Park, Winchester. SO21 2JN From: Senthil Sona <[email protected]> To: [email protected] Date: 14/05/2009 09:07 Subject: How to stop sandesha to resend the request, if there is an error in custom module Hi Sandesha Team, I have engaged sandesha and rampart module in the client program. In the service.xml file also i have engaged sandesha, rampart, and one custom module. When client sends the request, in the custom module inflow handler we do some validation. If the validation is not correct, then i want to terminate the inFlow and start outFlow/ OutFaultFlow and send the response back to the client. and Sandesha should not send the request again unless client sends the request again. Or is there any way to stop the sandesha's resending the request from the custom module. Please reply as soon as possible. Its very urgent requirement for us. Thanks, Swapna Soni. -- View this message in context: http://www.nabble.com/How-to-stop-sandesha-to-resend-the-request%2C-if-there-is-an-error-in-custom-module-tp23536131p23536131.html Sent from the Apache Sandesha mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
