To send a message synchronously from within an integration process, you use a send step in Synchronous mode.
When a message is sent synchronously, the send step waits for a reply message from the receiver after it has sent the request message.
1. Insert the send step at the required position in the process definition and select Synchronous in the Mode field.
2. Specify whether the system is to create a new transaction for the send step.
No New Transaction: You can expect better system performance if the system does not create a new transaction for the send step. However, only select this setting if by repeating the send step the result is not changed (idempotency). This is the case, for example, with lookup operations.
If you have selected this setting and an error occurs, synchronous sending can also cause problems in the pipeline and the receiver system following the rollback. Messages with an error status can also remain in the pipeline.
New Transaction: If the result is changed when the step is repeated, choose Create New Transaction. Otherwise the following error situation can occur: The system successfully executes a synchronous send step but an error occurs in the subsequent step. The system rolls back processing and executes all steps in the transaction - including the send step - again. If the send step results in a write-to operation in the receiver system, for example, creating a purchase order, this is also repeated. This can result in semantic errors.
More information: Transactional Behavior of an Integration Process
3. In the Synchronous Interface field, select the container element that references the synchronous, abstract interface for sending the request message and receiving the reply message.
4. In the Request Message or Response Message field, select the container elements that reference the corresponding messages.
Both container elements must be defined by an asynchronous abstract interface. The container element type for the request message must be the same as the outbound message interface of the synchronous interface.
The container element type used to receive the response message must be the same as the inbound message interface of the synchronous interface.
5. Specify how the system determines the receivers of the message.
More information: Sending a Message - Specifying Receiver Determination
6. If the system is to trigger an exception when a system or application error occurs, specify the required exceptions:
○ System error: triggered when a permanent error occurs
○ Fault message: triggered when the corresponding fault message is received. You can specify an exception for each fault message defined in the synchronous interface.
More information: Exception Handling
7. Specify whether a correlation is to be activated when a reply message is received.
More information: Correlation: Defining Assignment of Messages to Process Instances