the services that you are invoking must use transactional transport i.e. JMS. Then the message is sent if and only if the jBPM process is successfully persisted in database in new wait state.
I did not realize that I used fs provider instead of jms provider. I switched to jms provider and now it works as you have written.
Thank you very much for reply