Receipts and error messages bundling overview
In bundling, receipts and error messages are packed with a user message unit or a signal message unit and sent to the trading partner.
In AS4 Microservice, bundling is implemented based on the message unit bundling feature that is specified in ebMS core specification. Multiple message units are bundled in a single eb:Messaging element. However, the bundled message must not contain more than one eb:UserMessage element or more than one signal message unit of the same type (error, receipt, pull request). Additionally, the receipts, errors, pull request, user messages are bundled only if the business ID of the messages are same, indicating that the messages are related to the same trading partner.
The trading partner and owner organizations must agree to bundle receipts and error messages. If bundling is enabled, you need not host a separate AS4 receiver for asynchronous receipts and error messages.
Bundling is supported for one-way pull, one-way push, and two-way push pull message exchange patterns. To bundle an error message or a receipt, you must enable bundling and asynchronous receipts and error messages in the conformance policy and associate the conformance policy with an exchange profile. When receipts and error messages are bundled with user messages or signal messages, appropriate visibility events are emitted, and notifications are sent to the business application.
The following table provides information about how bundling works for each message exchange pattern.
Message exchange pattern | Receipt and error message configuration in the conformance policy | Bundling enabled in the conformance policy | Action |
---|---|---|---|
Inbound one-way push |
Asynchronous receipt Asynchronous ebMS error reporting |
Yes |
Receipts or error signal messages are queued for bundling. |
Inbound one-way pull |
Asynchronous receipt (default) Asynchronous ebMS error reporting (default) |
Yes |
Receipt or error signal messages that were queued for bundling earlier, as part of an inbound push for the same partner, are bundled along with the pull response user message. |
Outbound one-way pull |
Asynchronous receipt (default) Asynchronous ebMS error reporting (default) |
Yes |
Receipt or error signal messages that are the result of a pull response flow are queued for bundling. Also, any receipt or error signal message that was queued for bundling earlier as part of a similar flow for the same trading partner is bundled along with the pull signal message. |
Outbound one-way push |
Asynchronous receipt Asynchronous ebMS error reporting |
Yes |
Receipt or error signal message that was queued for bundling earlier as part of an outbound pull for the same trading partner is bundled along with the one-way push user message. |