TN processing rule(execute service)

Hi All,
I want to understand how TN processing rule for executing service works.
For example,
Service A(success-failure-done sequence) calls tn.receive.
Service B(success-failure-done sequence) is specified in the processing rule to be executed.
If service B fails will the control go back to service A (catch block).If not, is there a way to archive this setup.
Thanks,
salvo.

It depends on the processing rule. If set to run synchronously, control will return to Service A from tn.receive after Service B completes. If async, then control will return to Service A from tn.receive after TN has spawned a thread to run Service B.

Thanks Rob,
I have run some tests with the above setup. looks like the control moves to the next step after tn.receive Rather then going into catch block(A)
I can see the getlasterror message in the pipeline from service B

That’s right. If Service B has a try/catch block it will never throw an error even if Service A called it directly. Everything that B leaves in the pipeline will be visible within A, as long as B is invoked synchronously in the rule.