The addItem
operation adds the item to the local repository and to the remote system. If the addItem
operation fails on the remote system, then the item will not be added to the local system. Since the item is being newly added to the remote system, it is impossible to know in advance what value of the external ID is. The addItem
operation attempts to set the external ID property with the result of the addItem
Command
. If the use-external-id
attribute is true
, then a change to the ID results in a clone of the item passed into this operation.
This operation uses the IntegrationRepositoryItemDescriptor.addRemoteItem()
method. The input for add-item
Commands is the RepositoryItem
being added. If the Integration Repository item descriptor defines a mapping file, then the addItem
operation creates a MappingRepositoryItem
. Otherwise, the IntegrationRepositoryItem
is used.
When the addItem
Command
returns successfully from the remote system, the addItem
operation checks if there is an external ID in the CommandResult
. If there is, the addItem
operation updates the external ID property in the local repository with the ID value. If update-local-with-result
is set to true
, then the Integration Repository looks in the CommandResult
for new property values. Any values that appear in the result will be set on the local value of the item. If the item was cloned, the original item is removed and the new item is returned.
If the addRemoteItem
call times out, the response depends on the setting of the timeout-response
attribute for the addItem
operation. The possible settings are ROLLBACK, INVALID, UNKNOWN, IGNORE.