Sharing Attachments Using Synchronous Flows
When Oracle BPEL Process Manager-based composites share attachments using synchronous flows, it is necessary to use the same end-to-end transaction. This is applicable to composites that are colocated and use local/optimized calls. This can be achieved by setting the property shown in the following example on all the called BPEL components (callees) in the call chain:
<property name="bpel.config.transaction" many="false" type="xs:string">required</property>
If such composites do not execute as part of the same transaction context, the attachment data saved by the first BPEL component in the call chain is not visible to the other BPEL components in the call chain. In addition, they incur database locking and timeout exceptions:
"ORA-02049: timeout: distributed transaction waiting for lock"