I have a requirement where there is a single BPEL process which is doing the following Operations
1. Inserting Records in to Oracle database table using Database Adapter Partner link say DBAdapter1
2. Updating Records in Oracle database table using Database Adapter Partner link say DBAdapter2
I am seeing that these two DB Partner links are behaving as Independent and records are getting committed by them separately.
Records are getting inserted by DBAdapter1 Even when DBAdpater2 call fails ,
I want them to behave as a single transaction ie Records Inserted by DBAdapter1 should be rolled back if DBAdapter2 Call fails and vice versa.
The Database is currently declared as non-XA datasource. Soa suite version: 188.8.131.52.0
I tried options such as transaction=participate on both the partner links But it is behaving in the same manner.
<property name="partnerLink.InsertOrderToDB.transaction" type="xs:string"
<property name="partnerLink.UpdateOrdersToDB.transaction" type="xs:string"
Please provide me inputs in resolving this issue.
Finally I was able to resolve this issue.
we need to use XA Datasource .
After changing the Datasource Driver from non-xa to XA , I could achieve the needed behavior.