Hi Alex

Alex Boisvert wrote:

On Sun, Apr 13, 2008 at 8:17 AM, Amin Anjomshoaa <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Thanks for your attention. Yes, the correlation is working
    correctly and request is forwarded to the correct instance. The
    issue is, when process is waiting for a specific message (let's
    say message B) and accidentally another message arrives, then ODE
    reacts with a timeout !


If you're calling a request-response operation using a synchronous transport, I think the engine should return an error back to the caller right away.
That is exactly what Apache ODE does NOT do. All the operations in my project are request-response and I am using SOAP over HTTP to test it. When the correct message is arrived, I get the response and process continues, but for the out of order messages (I mean messages that should arrive in the next steps), ODE returns the timeout after a while. I am going to provide an example for this to clarify the issue.
    A real world example: in an e-commerce platform the delivery can
    not be started before payment. So if a delivery message arrives
    before payment, process should react with a exception.
    I will wait for a while and if no solution is posted by other
    users, will file a bug.


Well, I agree with you but only to a certain extent. E-commerce protocols are usually defined in terms of one-way operations (usually with reliable delivery), not request-response operations. So in this those cases, the messages would be queued for the instance to process them later on. So I think we're talking about a different use-case here.

alex

Your are right, using this use case I wanted to demonstrate the order of incoming messages only.

Thanks Amin

Reply via email to