Work with specific protocols and standards > AS4 > Message Partition Channels (MPC)

Message Partition Channels (MPC)

Message Partition Channels (MPC) enable the partitioned transfer of AS4 messages between AS4 exchange participants. MPCs are used for both pushed and pulled messages. A single MPC is used for a single message exchange between two participants.

Multiple sending and receiving participants can use the same MPC for trading.

MPC requirements

For an AS4 message to be successfully transferred, the sending and receiving participants must agree on the MPC that is to be used for the exchange, and then each participant must configure the exchange to use that MPC.

Activator always assumes an MPC for any AS4 message exchange:

Implicit default MPC

If no MPC is explicitly assigned in the exchange configuration, Activator implicitly assumes the blank MPC.

Explicit default MPC

You can explicitly specify the default MPC by using the default value:

http://docs.oasis-open.org/ebxmlmsg/ebms/v3.0/ns/core/200704/defaultMPC.

Explicit non-default MPC

You can explicitly specify a value other than the MPC default value.

Assigning MPCs

As explained above, in Activator, an MPC can be assigned explicitly or implicitly.

When you configure Activator as a participant in an AS4 message exchange, you must always include an object that determines the MPC to use (implicitly or explicitly). The object that you use to do this varies depending on the Message Exchange Pattern and the role Activator plays in the pattern.

Message Exchange Pattern Activator role Where to set MPC MPC Options
Simple push Sender MMD, metadata or Trading AS4 Partner Delivery Default / Specified
Simple pull Server Trading AS4 Partner Delivery (used for validation/ authorization) Default / Specified
Simple pull Client

Trading AS4 Polling Pickup:

  • Implicit via selected Partner Delivery
  • Overridden/Explicit via polling client setting

Alternatively, you can set the MPC using and MMD.

Default / Specified / Specified override

To summarize how you assign an MPC in an exchange configuration, you can:

About non-default MPCs

You can create a non-default MPC for AS4 trading by simply naming one in your Activator configuration.

For example, if an Activator instance has an AS4 Trading Partner Delivery with "MPC123" specified, it can push an AS4 message to another Activator instance using that MPC.

In pull mode only, if you specify an MPC in a configuration, but the intended trading partner does not also specify the same MPC, the trade will fail with an error indicating that the MPC is not found.

Pulling client behavior

When Activator is configured as an AS4 pull client, it uses the settings of the Partner Trading Delivery/Polling Settings tab to build AS4 pull requests.

Based on the MPC setting in the community trading pickup Polling Settings tab, the polling client request will contain one of the following values:

When the server analyzes the client pull request, it looks for a server-side partner MPC that corresponds to the client request. If no such MPC exists, it returns an error. If the MPC exists, it lets the client execute polling actions (configured number of pull requests and frequency).

Pulling server behavior

Inbound pull requests may contain an MPC. The server validates the MPC on the resolved partner, to see if the defined MPC is assigned on any AS4 Partner Delivery Exchange.

Push behavior

When Activator is configured for AS4 push, it uses the settings of the Partner Trading Delivery/HTTP Settings tab to select the MPC to use (if not already defined in metadata provided by an MMD or metadata processing).

Based on these settings:

A push with no MPC specified, uses the default implicit (empty) MPC.

For a push, you can explicitly define any MPC, including the default MPC (http://docs.oasis-open.org/ebxmlmsg/ebms/v3.0/ns/core/200704/defaultMPC).

Related topics