Hi Alejandro, I think you need BPEL to achieve your requirement, but at the same time you can use the synapse message mediation if you do not need to associate the order entry request message with the fulfillment agent response message to proceed to the billing (i.e. if it is possible to proceed only with the response from the fulfillment agent to the billing service without any parameters from the order entry request) it is possible to use the asynchronous send using the send mediator and get the response back to the proxy out flow and invoke the billing service. Then again the response comes to the proxy out flow from the billing service and we can do a message filtering to differentiate from the earlier response and send back to the client.
At the same time it would be good to use the dual channel mode in doing the messaging from the client side. (Addressing separate listener or different reply-to model) Thanks, Ruwan On Wed, Sep 24, 2008 at 11:30 PM, Alejandro Calbazana < [EMAIL PROTECTED]> wrote: > Hi Ruwan, > > I have a use case that relates to an ordering/fulfillment flow. The flow > contains the following service endpoints: > > - Fulfillment Service > - Fulfillment Agent > - Billing Service > - Order Entry > > A simplified use case lays out as follows: > > Order Entry -> Fulfillment Service -> Fulfillment Agent -> Fulfillment > Service (reply) -> Billing Service -> Order Entry (reply) > > Where: > > - Order entry submits an order for processing. > - The fulfillment service picks up the order and performs content based > routing to find the appropriate fulfillment agent > - The fulfillment agent performs the fulfillment steps necessary (this may > be a long running step) > - The fulfillment agent returns control back to the fulfillment service who > then prepares a billing request > - The fulfillment service then replies back to the order entry system with > an reacknowledgment > > I'd be interested in how async replies are typically managed. Is it > recommended to host a callback endpoint, on one or more transports, and > expect this endpoint to perform correlation? If so, how does correlation > work when you have mixed transports? I'd also be interested in approaches > to message tracking and message storage. If there are long running > requests, does this imply that the interested service needs to create a > custom message store in order to do correlation? > > I know this is a pretty broad, but I'm trying to get my head around proper > organization and usage patterns :) > > Thanks! > > Alejandro > > > > Ruwan Linton wrote: > >> Hi Alejandro, >> >> Callout mediator is NOT intended to use for the async messaging it is to >> do >> blocking calls to an external web service. You could use the send mediator >> with the nhttp transport to achieve full async messaging system. >> >> If you could elaborate more on your exact requirement I can help you to >> select the best possible solution.... >> >> Thanks, >> Ruwan >> >> On Wed, Sep 24, 2008 at 4:21 PM, Alejandro Calbazana < >> [EMAIL PROTECTED]> wrote: >> >> >> >>> Hi, >>> >>> What is the recommended way to perform asynch messaging with a callout >>> mediator? Or is this recommended at all? >>> >>> Thanks, >>> >>> Alejandro >>> >>> >>> >>> >>> >> >> >> >> > > -- Ruwan Linton http://wso2.org - "Oxygenating the Web Services Platform" http://ruwansblog.blogspot.com/
