I have created a SOA composite application (in jdev 126.96.36.199) that contains : a dbAdapter + polling option activated.
The dbAdapter posts the data retrieved from the database to a BPEL process.
In the dbAdapter I checked the box "Do synchronous post to BPEL process".
At the end of BPEL Process there is a "Reply" activity back to the dbAdapter.
In Entreprise Manager console, when data are read from the database I then see that :
1- They are well posted to the BPEL process.
2- The BPEL process contains an Invoke operation to another dbAdapter (update only) to write to the database, that works correctly.
3- After the Invoke operation (in step 2) there is an error shown in EM console that says "Cannot call commit when using distributed transactions.".
4- In Entreprise Manager console, the instances are marked as "Interrupted" (Because of a CatchAll activity that contains a "Terminate" activity).
After reading some documentation, it seems that the option "Do synchronous post to BPEL process" induces that the whole called BPEL process is within a transaction.
Si I'd like to know if it is possible to get back to a non-transactional mode for avoiding the Fault that is catched when calling the other dbAdapter ("Cannot call commit when using distributed transactions.")
Transaction behaviour in BPEL can not be avoided, it will either create a transaction (default) or participate in a global transaction...
I believe yes, you just need to avoid those transaction attributes(bpel.config.transaction to required, bpel.config.oneWayDeliveryPolicy to sync) which will allow you to have transaction and dont use XA enabled datasources.
Those are short life transactions, which we can ignore.