Advanced topics in data integration 451
The following example shows a sample RDBMSResolver component results packet (with
both update results and change information nodes):
<results_packet nullValue="{_NULL_}" transID="46386292065:Wed Jun 25
15:52:34 GMT-0700 2003">
<operation op="delete" id="11295627479" msg="The record could not be
found"/>
<delete>
<field name="id" oldValue="1000" key="true" />
</delete>
<insert>
<field name="id" newValue="20"/>
<field name="firstName" newValue="Davey"/>
<field name="lastName" newValue="Jones"/>
</insert>
<operation op="update" id="02938027477" msg="Couldn't update
employee.">
<field name="id" curValue="105" msg="Invalid field value" />
</operation>
<update>
<field name="id" oldValue="30" newValue="30" key="true" />
<field name="firstName" oldValue="Peter" newValue="Mickey"/>
<field name="lastName" oldValue="Tork" newValue="Dolenz"/>
</update>
</results_packet>
The results packet contains four types of nodes:
Operation nodes contain the result of operations from the update packet. Each operation
node should have the following attributes/child nodes:
■ The op attribute describes the type of operation that was attempted. Must be insert,
delete, or update.
■ The id attribute holds the ID from the operation node that was sent out
■ The optional msg attribute contains a message string that describes the problem that
occurred when attempting the operation
■ Zero, one, or more field child nodes give field-level specific information. Each field
node, at a minimum, should have a
name attribute that contains the field name, and a msg
attribute that gives the field-level message. It can also optionally contain a
curValue
attribute that holds the most current value for that field in that row on the server.