When sending/receiving a large number of documents over AS2, it’s better to use an integration mechanism like SFTP. SFTP can easily support bulk file transfers as well as large file transfers. And also, if you prefer to integrate internal systems with your trading platform, it’s a perfect choice for you to go with MFT Gateway SFTP connectivity which you can configure to automate message flow.
MFT Gateway uses AWS Transfer Family service for SFTP integration. Therefore you can easily transfer files directly into and out of your Amazon S3 bucket. Let’s see how we can integrate SFTP in MFT Gateway.
Log in to the MFT Gateway console and click on the Integrations icon from the left-hand side menu bar. There are two integrations as S3 Integration and SFTP Integration. Our previous article Integrating AWS S3 for EDI messages over AS2 explains more about S3 integration. For this article, let’s focus on SFTP integration.
MFT Gateway allows SFTP access via key-based authentication. You can either use an existing SSH key pair generated by yourself or let MFT Gateway generate a new key pair on behalf of you.
To integrate SFTP,
MFT Gateway does not store your credentials, and keys can not be recovered if you lose them. So, save it somewhere safe. But in case you misplaced your current private key, you can always disable the existing SFTP account and create a new SFTP account at any time.
Once you have created the SFTP account, you can connect to the SFTP server by running the following command. Make sure
to replace <private-key-path>
with the location of your private key and <sftp-username>
with your SFTP username.
sftp -i <private-key-path> <sftp-username>@sftp.mftgateway.com
When running the above command, you might get the below error.
The reason for the above error is your private key file permissions are too open. It must not be publicly viewable. So,
set permissions by running this command, replacing <private-key-path>
with your private key location:
chmod 400 <private-key-path>
Once you have successfully connected to the SFTP server, you can find a folder named AS2 including subfolders ** files, headers, raw-mdn** and raw-message, which correspond to different aspects of your AS2 message flow such as attachments, MDNs, and HTTP header traces.
Once you have set up your trading stations and partners from the MFT Gateway console, you can send your AS2 messages via
SFTP by uploading relevant files to the send folder (AS2/send/<station-AS2-id>/<partner-AS2-id>/
). MFT Gateway
will pick them up and send them to your trading partner.
To upload an attachment from the local directory to the send folder, type the following command,
replacing <local-file>
, <station-AS2-id>
, <partner-AS2-id>
, <attachment-name>
with correct values:
put <local-file> AS2/send/<station-AS2-id>/<partner-AS2-id>/<attachment-name>
Example output:
The file will be picked up and sent to the relevant partner. Once the message is successfully sent, the attachment will be moved to the following path:
AS2/files/<station-AS2-id>/<partner-AS2-id>/outbox/<timestamp-random-number>/<attachment-name>
If you want to download a sent attachment to a local directory, type this command; replacing necessary components:
get AS2/files/<station-AS2-id>/<partner-AS2-id>/outbox/<timestamp-random-number>/<attachment-name> <local-path>
Example output:
As you saw above, in the outbox MFT Gateway keeps attachments of each AS2 message in a separate directory named
as <timestamp-random-number>
If you want to list all the attachments in the outbox, type this command;
replacing <station-AS2-id>
and <partner-AS2-id>
with correct values:
ls AS2/files/<station-AS2-id>/<partner-AS2-id>/outbox/
Similarly, if you want to list all the attachments in the inbox, run this command, replacing <station-AS2-id>
, <partner-AS2-id>
with correct values:
ls AS2/files/<station-AS2-id>/<partner-AS2-id>/inbox/
If you want to download an attachment of a received message to a local directory, type this command replacing necessary components.
get AS2/files/<station-AS2-id>/<partner-AS2-id>/inbox/<timestamp-random-number>/<attachment-name> <local-path>
Example output:
Sign Up for 30 day Free Trial! Stay tuned for more updates!
Kumudika is the Senior QA Lead at Aayu Technologies, bringing over six years of industry experience. She has a keen eye for detail and committed to delivering high-quality software products. When not testing, Kumudika loves watching sitcoms, enjoying good food, and catching up on sleep—just like a bear in hibernation.