From Forum's FAQ... https://wikis.oracle.com/display/Forums/Forums+FAQ
Oracle Discussion Forums are designed for peer-to-peer knowledge sharing only; people with urgent support matters should always use MetaLink.
Looking into your requirements, I see interaction with between A and B as asynchronous... I suggest you have to have a better look on the Interaction Patterns in a BPEL Process...
Have a look at the doc bellow...
you need to force a dehydrate to get an immediate response after the reply.
can you add <bpelx:dehydrate name="Dehydrate"/> after the reply ?
I was wondering, if using the "echo" option of the Mediator for B, could do the trick. A gets back the ack from mediator B. B routes request to C and again routes the C's response back to A. Just a thought, might be wrong...
What do you think Eric Elzinga ?
sometimes we solved similar requests like this:
1) A is async with the following activities: receive, invoke B (with input and output), receive to collect callback from C, invoke to send callback to the initial requester (optional)
2) B is async, but the initiate operation has a input and a output. The activities: receive, reply, invoke c, invoke to send ack-callback to A
3) C is sync.
The Key is to modify the Wsdl of B so that the init operation has an Input and an Output. Does this work for you?