I was reading about failed events on BPM infocenter. It stated -
"Failed events are generally created when clients use an asynchronous invocation pattern and a ServiceRuntimeException is thrown by the service provider."
I ran small POC where a long running bpel process calls a Mediation Module synchronously. This was achieved by setting "Prefered Interaction Style"on import component(calling Mediation module) to "Synchronous". Now this mediation module throws a service runtime exception (deliberately thrown by putting a division by 0 in custom mediation primitive). Surprisingly a failed event is generated of type BPC in Failed Event Manager. When looked into bpeexplorer invoke to MM has turned into stop state.
I was expecting no failed event as the invocation was synchromous.
Scenario 2 -
Another scenario I tried was changing transactional behavior of invoke in BPEL flow to "Participates" from default "commit after". This invoke in turn invokes the same MM. And then I ran the same scenario mentioned above. I expected whole transaction to roll back till the start of BPEL process.
I observed bpel invoke activity going to stop state in bpc explorer. that means it cna be resubmitted from that very point.
I am attaching few snapshots to explain my scenarios below. Also attachign the PI file
Please help if I am missing anything logically somewhere.