Log subflow for the pattern
In accordance with best practice, logging messages to a database does not
take place within the message flows that handle business transactions; instead
persistent messages are written to a WebSphere MQ queue,
which is processed separately. Writing
persistent messages to a WebSphere MQ queue
isolates any performance impact of database updates, therefore allowing control of where
and when these queues are processed.
-
Any call to a Salesforce web service which has the potential to update data in Salesforce can be logged.
Calls are logged if they return a response rather than a fault.
- In cases where a collection of objects are being processed,for example using the upsert operation on a group of contacts,
some may succeed and some fail. The log includes the response data so that a record is kept of which call succeeds.
-
MQMD and MQRFH2 headers are created. The following log data is added to the MQRFH2 header:
-
Broker name
-
Message flow name
-
Timestamp of log
-
Source queue
-
Action - this identifies the object type as well as the operation e.g. Create Account
- The SOAP message is added to the body of the log message as XMLNSC.Message.Input
- The response from the Salesforce call is added to the body of the log message as
XMLNSC.Message.Result