Introduction #
Acknowledgment can be of system and application acknowledgment. System acknowledgment is a technical message send back to the caller to indicate that the data has been technically transferred. Application acknowledgment is to tell the caller that the data has been successfully processed without any business error. The acknowledgment can be sent to the caller back as a reaction of what he has sent to us. This is for inbound message. For the outbound message, we can only request from the receiving system to send us an acknowledgment or notification. We can request from the receiver to send us back the technical or application acknowledgment.
A notification or acknowledgement message can be immediately e.g. send back from the receiver immediately for the outbound message or at a later time. In both cases, the acknowledgement message is an asynchronous message. If we make a synchronous call then we have immediately the response where we are waiting for that and get blocked until the response arrives. In this real synchronous case, we don’t need acknowledgement or notification because the response is already the acknowledgement/notification message. Acknowledgement and notification make sense only for asynchronous messages.
What should we provide for the inbound message?
For an inbound message, we provide the application acknowledgement. The system acknowledgement is not needed because this is in any way the same as the technical error when the api call failed. the acknowledgement message is always sent when user set or activate the acknowledgement handling for an interface.
Here we have a new field ‘Response handling’ to define different setup as a picklist. For example, we have the following value:
- Send response immediately
- Caller uses polling to fetch the response
- Send notification
- Create Platform Event -> This is to publish the event in the event-bus of Salesforce so that client can subscribe to it.
Pre-requisite #
- Create adapter. Here we are using soap adapter.
- Create message Type. As we are using Soap adapter we need specific soap template for it. So create message type as per soap template.
- Create Interface.
- Inbound Interface: Request Interface
- outbound Interface :response interface.