You have modeled a SOA composite with a single BPEL process component. Both of the invoke
activities in the BPEL process use the same XA connection factory: eis/DB/SOADemo. The
InsertData partnerlink inserts a new record in the DEPT table in the database. The
storeproc_validate partner link calls a stored procedure that validates this newly inserted record.
Which statement is true about the composite?
A.
Invoke1 is capable of detecting omitted XML elements in the input payload and throwing a
bindingFault to the caller
B.
If invoke1 encounters a primary key constraint violation on insert, the invocation retires a total
of 4 times with a starting interval of 1 and a back-off factor of 2.
C.
Invoke1 and invoke2 use the same underlying JDBC connection to the database.
D.
If invoke2 interaction fils, the insert from Invoke1 is also rolled back.
Explanation:
Detect omissions(it is selected here according to the screenshot)allows
theMERGEandINSERToperations to ignore empty or missing XML elements in the input payload.
For aMERGEoperation, this will prevent valid but unspecified values from being overwritten with
NULL. ForINSERToperations, they will be omitted from theINSERTstatement, allowing default
values to take effect.
Incorrect:
Not B: Auto-tries are related to connection problems, not to primary key constraints.
*In theAuto-Retriessection, specify the value for auto-retry incase of time out. In case of a
connection related fault, the Invoke activity can be automatically retried a limited number of times.
I can’t see the whole flow, but the option D seems to be correct as well.
Yep, D is correct.
Omission –
It allows DBAdapter merge, insert, or update to differentiate between null value and the absence of a value (omission) in XML documents. On a case by case basis, it determines which information in XML is meaningful and which is not. In this way XML is seen as a partial representation of a database row, as opposed to a complete representation. The following table lists examples for null values, and values that can be omitted.
D should be correct since this is XA transaction which will automatically rollback 1st transaction in case of failure in 2nd one.
http://docs.oracle.com/cd/E23943_01/integration.1111/e10231/adptr_db.htm#TKADP1320
“Detect Omissions allows the MERGE and INSERT operations to IGNORE empty or missing XML elements in the input payload. For a MERGE operation, this prevents valid but unspecified values from being overwritten with NULL. For INSERT operations, they are omitted from the INSERT statement, allowing default values to take effect.”
Who wrote the Explanation?!
I think D is correct.
C
If both uses the same connection factory, then the underlysing JDBC connection should also be same.
D