You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

What is Dynamic Discovery

Dynamic Discovery allows you to define Sending Processing Modes that do not contain all the specific routing information.

The Sending Processing Mode that is used to send an AS4 Message is dynamically decorated with the required routing information by the AS4 MSH during the send operation.

Dynamic Discovery makes it possible to have fewer Sending Processing Modes:

Instead of having full blown Sending Processing Modes, Dynamic Discovery allows you to have fewer 'incomplete' Sending Processing Modes that act as a template. The missing routing information will be dynamically added by the AS4.NET MessageHandler when an AS4 Message is being sent. When appropriate, using Dynamic Discovery can save you time since there are fewer Sending Processing Modes to maintain.

How does Dynamic Discovery work

When Dynamic Discovery is enabled in the Sending Processing Mode, AS4.NET will attempt to decorate the Sending Processing Mode with routing information that is retrieved from an SMP server (_Service Metadata Publisher).

The Sending Processing Mode defines the SMP Profile that must be used to retrieve the routing information. If there's no SMP Profile specified, AS4.NET will use a default profile where AS4.NET itself will act as an SMP server. In this case, AS4.NET will retrieve routing information from its own routing table and will complete the Sending Processing Mode with this information. Any routing information that is already defined in the Sending Processing Mode will be overwritten during this operation!

In AS4.NET, Dynamic Discovery is supported in both receive/forward/send scenario's and in regular submit/send scenario's:

How to configure Dynamic Discovery

Define the SMP Profile in the Sending Processing Mode

To enable Dynamic Discovery, a Sending Processing Mode must have a DynamicDiscoveryelement.

In this DynamicDiscoveryelement, the SMP Profile that must be used can be specified. The value that is configured in this element, refers to a class that implements the IDynamicDiscoveryProfile interface. If no SMP Profile is defined, AS4.NET will fall back to a default implementation that uses the routing rules that can be defined in AS4.NET.

Incomplete Sending Processing Mode

To correctly sent or forward a message, we need to know some required routing information. Normally, all this information is present in the Sending Processing Mode but when using Dynamic Discovery, this information can be ommitted from the Sending PMode.

When making use of dynamic discovery, the following items can be ommitted from the Sending Processing Mode:

  • Push Configuration
    • Url to where to message must be sent to
    • Whether or not the message must be send using TLS
  • Encryption
    • Public Key Certificate that must be used to encrypt the message
    • Encryption algorithm information
  • Message Packaging
    • To Party (Role and Party Id)
    • Collaboration Info (Service and Action)

AS4.NET will retrieve this information using an SMP and decorate the PMode with the information that has been received. The routing information that has been received has priority over any existing routing information that might already be present in the Sending Processing Mode.

Specify routing information in AS4.NET

The routing information that will be added to the Sending Processing Mode will be retrieved by the AS4.NET MSH from a Service Metadata Publisher server. By default, AS4.NET will act as the SMP server if dynamic forwarding is enabled.

The routing information is to be configured via the Web Portal of the AS4.NET component:

  • In de sidebar click on the menu item SMP Configuration
    • This will show a list of all the configured configurations available for Dynamic Forwarding
  • To add a new configuration, click the "+" button
    • This will show a dialog
  • When finished with the typing of the routing info of your Sending Processing Mode, click the button "OK"
    • Your configuration is now available during the Dynamic Forwarding

TODO: show dialog detail view of the SMP Configuration

The SMP Configuration needs at least an Url and ToParty Id, Role, and Type

Retrieve Routing Info During Sending or Forwarding

AS4.NET will query the SMP profile (default or custom) to retrieve the routing information that must be used to complete the Sending Processing Mode.

This information will be retrieved based on the ToParty information; this means that AS4.NET must know the identifier of the ToParty to determine the routing information.

  • No labels