Hi Sanjiva,

If this problem can be fixed in the Sandesha layer that will be better 
than the current fix. I will revert the changes.

Cheers

Brian DePradine
Web Services Development
IBM Hursley
External  +44 (0) 1962 816319         Internal 246319

If you can't find the time to do it right the first time, where will you 
find the time to do it again?


Sanjiva Weerawarana <[EMAIL PROTECTED]> wrote on 05/03/2007 02:59:15:

> Brian De Pradine wrote:
> > 
> > In this scenario the server sends a response message to the client. 
The 
> > client then tries to send an acknowledgement to the server, but the 
> > acknowledgement gets lost, for whatever reason. This means that the 
> > WS-RM layer, in the server, will eventually time-out and send the 
> > response message again. This time the client should send an 
> > acknowledgement to cover both the original and the duplicate response 
> > messages.
> > 
> > This scenario is broken because the duplicate response never makes it 
to 
> > the WS-RM layer on the client side, because the 
> > AddressingBasedDispatcher recognises it as a duplicate and throws an 
> > exception instead. This means that the WS-RM layer never gets driven 
to 
> > send the second acknowledgement. The result is that the server will 
> > simply keep sending duplicate responses forever (almost)!
> > 
> > In order to get this scenario to work the AddressingBasedDispatcher 
will 
> > need to dispatch any duplicate messages as normal, instead of deciding 

> > that they are 'bad' and throwing an exception. This will allow WS-RM 
to 
> > be easily added into the picture at any time. This also means that if 
> > there is no WS-RM engaged then a service will potentially be driven 
more 
> > than once if there are duplicate messages (created by some other 
means). 
> > This shouldn't be a problem, however, because web services are meant 
to 
> > be stateless entities anyway :-) If you do happen to have a web 
service 
> > that is not stateless then you will need to engage WS-RM to ensure 
that 
> > it is not driven by duplicates.
> 
> OK I understand the scenario but I'm -1 on this because it breaks normal 

> users. You can't say that Web services are stateless and therefore its 
ok 
> to just let messages get delivered repeatedly violating our MEP concept!
> 
> RM is a lower level thing than MEPS- its infrastructural. The MEP should 

> not be marked complete if the message hasn't been received to the 
> satisfaction of the lower level.
> 
> If what Chamikara suggests will fix this for RM that's great but no 
matter 
> what this change is not acceptable because its breaking the definition 
of 
> a MEP. Think of a TCP analogy: TCP users a protocol similar to RM to 
> resend packets. Anyone who implements something like HTTP over TCP 
doesn't 
> need to be concerned with the response being delivered twice!!
> 
> Sanjiva.
> -- 
> Sanjiva Weerawarana, Ph.D.
> Founder & Director; Lanka Software Foundation; http://www.opensource.lk/
> Founder, Chairman & CEO; WSO2, Inc.; http://www.wso2.com/
> Director; Open Source Initiative; http://www.opensource.org/
> Member; Apache Software Foundation; http://www.apache.org/
> Visiting Lecturer; University of Moratuwa; http://www.cse.mrt.ac.lk/
> 
> 
> ---------------------------------------------------------------------
> 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





Reply via email to