AS4 receiver overview

An AS4 receiver is a configurable component in AS4 Microservice that allows trading partners to communicate.

The AS4 receiver facilitates AS4 message exchange by defining endpoint capabilities. For the AS4 receiver to function, it needs a preconfigured HTTP or HTTPS server. When an AS4 receiver is configured and deployed, the AS4 service URI that is specified in the configuration is registered with a multiplexer component. The HTTP or HTTPS servers that are specified in the AS4 receiver configuration are also registered with the multiplexer component. The HTTP or HTTPS server receives an AS4 request to the preconfigured URI. The server determines the correct AS4 receiver from the URI and sends the request to that receiver.
Note: The AS4 service URI and HTTP or HTTPS server must be specified when you are creating an AS4 receiver. The AS4 service URI is unique for an AS4 receiver and cannot be used for another AS4 receiver.
The following list provides an overview of tasks that an AS4 receiver performs when a message arrives at an HTTP or HTTPS server:
  • Message arrival – The HTTP or HTTPS server, with which the AS4 service URI is registered, indicates about the message arrival to the AS4 receiver.
  • Retrieving message from the HTTP server – The AS4 receiver retrieves the message and transport attributes from the HTTP server and parses the HTTP header. If content-length parameter is present in the HTTP header, the receiver verifies the configuration for request size limit. If the size of the message that is received is not within the size that is specified in the request size limit, the receiver rejects the message and closes the connection with an HTTP error code.

    If chunked transfer-encoding parameter is present in the HTTP header, the AS4 receiver accepts the message chunks and reads the bytes. If the total size of the message chunks is not within the size that is specified in the request size limit, the receiver stops reading the message chunks and closes the connection with an HTTP error code.

    The request size limit configuration in the AS4 receiver allows you to set transfer priorities for messages and to organize the flow of messages. For example, if messages of a particular size must be processed by a specific destination, you can configure an exchange profile that uses an AS4 receiver with the required request size limit (or with no limit set) configuration and routes messages to a specified destination.

  • Persisting to storage – By default, while the AS4 receiver is reading the message, it persists the HTTP request to storage and maintains the storage ID. If required, you can specify storage options for the payload. Based on the storage option that is specified for the payload, the payload is sent for processing inline with the message or stored in storage and a reference is provided in the message.
    Note: If the chunked transfer-encoding parameter is specified in the HTTP request, and the message size exceeds the request size limit that is configured, the data persisted to storage is deleted.
  • Handling MIME messages – If the message is a multi-part message, the AS4 receiver performs multi-part MIME parsing and stores individual parts into storage and maintains the data ID and content ID.
  • Extracting payload and other required data – The AS4 receiver extracts the payload, MIME parts, ebMS message properties, and trading partner information, and sends the extracted data to the business application for processing.
  • Generating visibility events – The AS4 receiver generates visibility events at appropriate stages from when a message is received until it is passed on to the business application for processing.