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 Senthil Sona <sw...@cisco.com> on 2009/05/14 10:06:38 UTC

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


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






Re: How to stop sandesha to resend the request, if there is an error in custom module

Posted by Amila Suriarachchi <am...@gmail.com>.
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,

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