Version: 17.07
Supported Since: 17.01
AS2Gateway Egress Connector can be used to send messages to AS2 destinations from the UltraESB. AS2 Egress connector is compliant to RFC 4130 written by Drummond & Moberg.
Note: This functionality of this connector is almost similar to AS2 Egress Connector's functionality. However although the AS2 Egress Connector is limited to single station, single partner setup AS2Gateway Egress Connector has eliminated that limitation by providing support for maintaining multiple AS2 trading stations and AS2 trading partners.
Therefore if you are a organization who requires only one trading station and one trading partner please refer to AS2 Egress Connector as it is comparatively easier to configure.
In order to use the AS2Gateway Egress Connector you must first select the "AS2 Connector" dependency from the connector list when you are creating an empty Ultra project. If you have already created a project, you can add the "AS2 Connector" dependency via Component Registry. From Tools menu, select Ultra Studio → Component Registry and from the Connectors list, select the "AS2 Connector" dependency.
As a prerequisite to use the AS2Gateway Egress Connector it is required to prepare a resource configuration which contains required AS2 trading station/partner information.
To create a resource with required information, you should open the project.xpml file in Design mode. Then select AS2 Trading under Custom Templates menu. This will open a list of input parameter where you need to enter the relevant information in input fields inorder to configure the AS2 Trading information resource.
* marked fields are mandatory
The AS2 Egress Connector uses the HTTP as the underlying transport protocol which makes it inherit the properties of HTTP Egress Connector. Therefore it is possible to view and customize those HTTP transport specific properties defined under the Transport Configuration category. To understand them please refer to NIO HTTP Egress Connector reference.
Resource ID * |
Identifier for the resource to identify within the XML configuration of project.xpml |
Station AS2 ID * |
AS2 Identifier of the trading station |
User Email ID * |
Email address of the user |
Station Keystore Type |
Type of the Identity Keystore that will be used for AS2 message signing and encrypting (S/MIME), possible values are "JKS" and "PKCS12" |
Station Keystore Path * |
Path of the Identity Keystore which stores the certificate that will be used for AS2 message signing and encryption (S/MIME) |
Station Keystore Password * |
Password of the Identity Keystore which stores the certificate that will be used for AS2 message signing and encryption (S/MIME) |
Station Certificate Alias * |
Alias of the certificate that will be used for AS2 message signing and encrypting (S/MIME) |
Key Password * |
Key password of the certificate that will be used for AS2 message signing and encrypting (S/MIME) |
Station Truststore Type |
Type of the Trust Keystore that will be used storing the trading partner’s (S/MIME) certificates, possible values are "JKS" and "PKCS12" |
Truststore Path* |
Path of the Trust Keystore that will be used for storing the trading partner’s (S/MIME) certificates |
Truststore Password* |
Password of the Trust Keystore that will be used storing the trading partner’s (S/MIME) certificates |
Organization ID* |
Unique integer identifier to recognize the organization |
Partner AS2 ID * |
AS2 Identifier of the trading partner |
Partner URL * |
AS2 Message receiving URL of the trading partner |
Station Async MDN URL* |
HTTP URL of the trading station which will be receiving Asynchronous MDNs |
Partner Certificate Alias* |
Alias of the certificate that will be used for processing AS2 messages from partner |
Sign AS2 Message* |
Sign AS2 Message for partner |
Encrypt AS2 Message* |
Encrypt AS2 Message for partner |
Compress Message Before |
Compress the message payload before starting the AS2 processing |
Compress Message After |
Compress the message payload after starting the AS2 processing |
AS2 Message Encrypt Algorithm |
Algorithm to be used in AS2 message encryption process |
AS2 Message Sign Algorithm |
Algorithm to be used in AS2 message signing process |
AS2 Message Signature Encrypt Algorithm |
Algorithm to be used in AS2 message signature encryption process |
Request MDN |
For the sent AS2 messages request a Message Disposition Notification (MDN) from the receiving trading partners |
Request MDN Signed |
Request for the MDN sending party to send a signed MDN |
Request Async MDN |
Request the MDN sending party to send a asynchronous MDN to the defined Async MDN URL endpoint |
Message Subject |
Subject of the AS2 Message |
Following scenario is almost similar to the sample scenario that we have discussed under AS2 Egress Connector. The only difference is now there are multiple AS2 trading stations and multiple trading partners for AS2Gateway. Therefore when sending a message through AS2Gateway Egress Connector it is required to mark the using trading station and trading partner for each and every message. AS2Gateway Egress Connector expects them to be provided to it as transport headers of the message. Therefore before forwarding the message to the egress connector element it is require to add AS2-From transport header with trading station’s AS2 identifier and AS2-To transport header with trading partner’s AS2 identifier.
This is a simple use case of AS2Gateway Egress Connector simulating the use case of sending an invoice document to a remote partner over AS2 protocol. The invoice file that is going to be sent is stored inside a local directory. It will be injected to the UltraESB to send it to the remote trading partner over AS2 requesting a sync MDN. Upon the receipt of the AS2 message that contains the invoice file, the remote trading partner will send a sync MDN message which acknowledge the message receipt. The received MDN will be save into a defined local file to successfully end the AS2 message flow.
For the above scenario it is required to have five elements for the AS2 message flow which will be the configuration for the UltraESB. The first element is a File Ingress Connector which is responsible for picking up the invoice file from the local directory and injecting it to the UltraESB. The next two elements are Add Transport Header elements which will add the AS2-From and AS2-To headers with AS2 identifiers of relevant trading station and trading partner. The fourth element is the AS2Gateway Egress Connector element for send out the AS2 message containing the invoice file. The final element of the flow is a File Egress Connector which is responsible for saving the content of the receiving synchronous MDN into a local file.
In-order to understand the use of File Ingress Connector element, Add Transport Header element the File Egress Connector element please refer to their respective resources.
For this sample use case the configuration of the File Ingress Connector is as follows.
For this sample use case the configuration of the Add Transport Header elements are as follows.
For this sample use case the configuration of the File Egress Connector is as follows.
Input |
The message comes through this port will be processed and prepared as a AS2 message and will be sent to an external http endpoint (AS2 service) comes through this port. |
Connector Operation |
This port is used to connect operational elements to the Egress Connector. By-default, user does not have to connect any operational element and the default connector operation will be used. However if there are any trading partner specific operations to be done user can utilize the connector operation. |
On Exception |
The message will be sent to this outport if the processing element failed to prepare the AS2 message using the provided payload due to some reason |
Response Processor |
The response message/synchronous MDN message received will be directed to this port. You can use this port to connect any precessing element or connector that is supposed to process/consume the response/sync MDN. |
* marked fields are mandatory
The AS2 Egress Connector uses the HTTP as the underlying transport protocol which makes it inherit the properties of HTTP Egress Connector. Therefore it is possible to view and customize those HTTP transport specific properties defined under the Transport Configuration category. To understand them please refer to NIO HTTP Egress Connector reference.
AS2 Gateway Configuration |
Basic |
The Resource ID of the resource created in project.xpml |
Egress Timeout |
Advanced |
Timeout value in milliseconds for the egress message |
Weight |
Advanced |
Weight for the Egress Connector if Egress Load Balancer element is used with Weighted/Weighted with Failover algorithm is used |