Version: 17.07
Supported Since: 17.01
AS2 Ingress connector can be used to receive AS2 messages from a remote AS2 service. The processing AS2 messages by AS2 Ingress connector is done according to the RFC 4130 written by Drummond & Moberg.
This setup only supports single AS2 station, single AS2 partner setup. If the requirement is to have multiple AS2 Stations and/or multiple AS2 partners please refer the AS2Gateway Ingress Connector reference. |
In order to use the AS2 Ingress 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.
Also you need to have the AS2 Identifier of the remote AS2 trading partner in-order to configure the AS2 Ingress Connector properly. To obtain this you should contact your trading partner over a different medium.
This is a simple scenario which is simulating the use case of receiving an invoice document from a remote partner over AS2 protocol. Here the received invoice file will be store into a local directory and send a Message Disposition Notification (MDN) to the trading partner. The MDN is the response to the trading partner which contains the processing status of the received AS2 message. The MDN can be sent as the response to the received AS2 message (sync MDN) or else it will be sent as a new AS2 message (Async MDN) to the trading partner. It will be decided on the preference of the trading partner which will be included in the receiving AS2 message.
For the above scenario it is required to have four elements for the AS2 message flow configuration of the UltraESB. The first element is a AS2 Ingress Connector which is responsible for receiving the AS2 message, parsing it to extract the invoice file, set the extracted invoice as a attachment of the message and finally preparing the response for the message and add it as the response message payload. The second element is a Attachment Saver element which is responsible for saving the invoice file into a user defined local directory. The third element is a AS2MDNCreator which will evaluate requested format of MDN. If the remote trading party has requested a synchronous MDN then it will invoke the response message which will contain the MDN message through its Sync MDN Requested out port. If the remote trading party has requested for a asynchronous MDN then the AS2MDNCreator will forward the response message to the final element of the flow, which is an NIOHttpDynamicURLEgressConnector. It will send the MDN in a new HTTP request.
In-order to understand the functionality of Attachment Saver element please refer to the reference resource.
For this sample use case, configuration of the AS2 Ingress Connector is as follows.
For this sample use case, configuration of the Attachment Saver element is as follows.
For the AS2MDNCreator there are no any configuration parameters to be configures, you just need to place it in the flow.
For the NIOHttpDynamicURLEgressConnector there are HTTP transport specific properties to be configuration. If required you can customize their default values.
Processor |
The response message for the received AS2 message with received payload files as attachments will be forwarded to this port. You can use this port to connect any precessing element or connector that is supposed to follow as the next processing element of the message flow. |
On Exception |
The message will be sent to this outport if the processing element failed to process the received AS2 message |
Input |
The response message to be sent to the remote AS2 trading party comes through this port. |
* marked fields are mandatory
The AS2 Ingress Connector uses the HTTP as the underlying transport protocol which makes it inherit the properties of HTTP Ingress 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 Ingress Connector reference.
Station Identifier * |
Basic |
AS2 Identifier of the trading station |
Partner Identifier * |
Basic |
AS2 Identifier of the trading partner |
HTTP Port * |
Basic |
Port to keep listening for the incoming AS2 messages |
Service Path * |
Basic |
The path which the Ingress Connector can be reached |
Email * |
Basic |
Email address of the user |
Keystore Type |
Security |
Type of the Identity Keystore that will be used for AS2 message signing and encrypting (S/MIME), possible values are "JKS" and "PKCS12" |
Keystore Path * |
Security |
Path of the Identity Keystore which stores the certificate that will be used for AS2 message signing and encryption (S/MIME) |
Keystore Password * |
Security |
Password of the Identity Keystore which stores the certificate that will be used for AS2 message signing and encryption (S/MIME) |
Key Alias * |
Security |
Alias of the certificate that will be used for AS2 message signing and encrypting (S/MIME) |
Key Password * |
Security |
Key password of the certificate that will be used for AS2 message signing and encrypting (S/MIME) |
Truststore Type |
Security |
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* |
Security |
Path of the Trust Keystore that will be used for storing the trading partner’s (S/MIME) certificates |
Truststore Password* |
Security |
Password of the Trust Keystore that will be used storing the trading partner’s (S/MIME) certificates |
Egress Timeout |
Advanced |
Timeout value in milliseconds for the egress message |