You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by Amila Suriarachchi <am...@gmail.com> on 2009/05/15 08:00:34 UTC
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 <PA...@uk.ibm.com> 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/IBM@IBMGB :: DE3F20 :: 246930
> EXTERNAL: ParsonsD@uk.ibm.com :: (01962) 816930
> Mail Point 211, IBM Hursley Park, Winchester. SO21 2JN
>
>
>
> From: Senthil Sona <sw...@cisco.com> To: sandesha-dev@ws.apache.org
> 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: sandesha-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: sandesha-dev-help@ws.apache.org
>
>
>
>
>
>
> ------------------------------
>
> *
> *
>
> *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/
Re: How to stop sandesha to resend the request, if there is an error in
custom module
Posted by David Parsons1 <PA...@uk.ibm.com>.
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/IBM@IBMGB :: DE3F20 :: 246930
EXTERNAL: ParsonsD@uk.ibm.com :: (01962) 816930
Mail Point 211, IBM Hursley Park, Winchester. SO21 2JN
From:
Amila Suriarachchi <am...@gmail.com>
To:
David Parsons1/UK/IBM@IBMGB
Cc:
sandesha-dev@ws.apache.org
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 <PA...@uk.ibm.com>
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/IBM@IBMGB :: DE3F20 :: 246930
EXTERNAL: ParsonsD@uk.ibm.com :: (01962) 816930
Mail Point 211, IBM Hursley Park, Winchester. SO21 2JN
From:
Senthil Sona <sw...@cisco.com>
To:
sandesha-dev@ws.apache.org
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: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org
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