About this task
When you are using the
SalesforceRequest node, several
different types of failure can be propagated to the failure terminal
of the node, including the following:
- Missing or badly formed data is supplied to the SalesforceRequest node.
If
the validation of the input data in the message body or the local
environment fails, error
bip3859 or
bip3862 will
be propagated to the Failure terminal, which contains details of the
incorrectly formed or missing data. For example, if a request is
made to retrieve a set of records but the filter property in the LocalEnvironment
specifies the limit clause as a negative value, error
bip3859 will
be sent to the Failure terminal with details of the field that caused
the validation error:
Feb 22 11:32:02 localhost IIB[25130]: IBM Integration Bus v10004 (Server1.default) [Thread 26660] (Msg 3/3) BIP3859E: The property 'filter.limit'='-1' supplied to the SalesforceRequest node is invalid.
- A communications failure with Salesforce.
If there is
a communications failure with Salesforce, for example if an invalid
URL was supplied or an authorization failure occurs, error
bip3858 will
be sent to the Failure terminal of the
SalesforceRequest node, with
the message inserts containing details of the failure. For example,
if a request is made to retrieve a set of records but the URL provided
on the
SalesforceRequest node
is incorrect, error
bip3858 will be sent to the Failure
terminal with details of the error:
Feb 22 11:37:01 localhost IIB[25130]: IBM Integration Bus v10004 (Server1.default) [Thread 27379] (Msg 3/3) BIP3858E: The SalesforceRequest node received error code 'Error' while executing 'Retrieve' operation. Error 'getaddrinfo ENOTFOUND badlogin.salesforce.com'.
- The Salesforce operation returned a failure.
If the Salesforce
operation executed but returned a failure, error
bip3858 will
be sent to the Failure terminal of the
SalesforceRequest node, with
the message inserts containing details of the failure. For example,
if a request is made to retrieve a set of records but the filter property
in the LocalEnvironment specifies an invalid name in the field clause,
error
bip3858 will be sent to the Failure terminal
with details of the error:
Feb 22 12:05:36 localhost IIB[25130]: IBM Integration Bus v10004 (Server1.default) [Thread 31343] (Msg 3/3) BIP3858E: The SalesforceRequest node received error code 'INVALID_FIELD' while executing 'Retrieve' operation. Error ' SELECT Id, Name, RemoteAddress FROM Account ^ ERROR at Row:1:Column:18 No such column 'RemoteAddress' on entity 'Account'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference your WSDL or the describe call for the appropriate names.'.
- An update or delete request was made specifying a Salesforce
identifier, but no record exists with that Salesforce ID.
This
error code is returned only for the
update and
delete requests;
if no record exists for a
retrieve request, no error
is returned, but an empty result is returned through the Out terminal
to the
SalesforceRequest node.
For example, if a request is made to delete a record, but no record
exists with the specified Salesforce Id, error
bip3863 is
sent to the failure terminal:
Feb 22 12:16:47 localhost IIB[25130]: IBM Integration Bus v10004 (Server1.default) [Thread 414] (Msg 3/3) BIP3863E: A request was sent to Salesforce specifying an ID with value '000000000000000000' while processing the 'delete' operation, but no Salesforce record could be found with that ID.
This
is not a complete list of the errors code which may be returned from
the SalesforceRequest node.