The %Net.SSH.Session class lets you connect to servers using SSH. It's most commonly used with SFTP, especially in the FTP inbound and outbound adaptors.

In this article, I'm going to give a quick example of how to connect to an SSH server using the class, describe your options for authenticating, and how to debug when things go wrong.

Here's an example of making the connection:

10 3
0 5.5K

This article will provide tips and tricks on customizing Ensemble business hosts with configurable settings.

Ensemble production Settings are configurable values that control the behavior of a production and its hosts.

The documentation for adding and removing Settings and specifying categories and controls for Settings is provided at the link:

8 6
3 4.2K

FTP (File Transfer Protocol) is a network protocol for transmitting files over TCP/IP connections in a network (including the Internet) configured to transfer files via this protocol. In an FTP transaction, a file sender is called a local host. A file receiver involved in FTP is a remote host, and it is usually a server. Although many file transfers can be conducted using Hypertext Transfer Protocol (HTTP), FTP is still commonly used to transfer files behind the scenes for other applications, such as banking services.

4 0
1 502
· Apr 22, 2020
FTP adapter

Hi community,

I am now working with an ftp adapter. I have no problem connecting to the FTP server, but there are problems with interacting with files. Has anyone had any experience with an FTP adapter, such as getting/modifying/deleting files?

2 4
0 498

Hi community,

I've created a BS that uses FTP InboundAdapter. It works, read the file and process it.

The problem is when there not any file in the FTP folder, it raises the following error:

ERROR <Ens>ErrFTPListFailed: FTP: error en List para *.csv (mensaje='No-transfer-time exceeded. Closing control connection.',código=421)

I think it is something about the configuration, but I don't find what is the problem.

1 4
0 661

I have been using %Net.FtpSession and while it works, its handling of file/directory listings from an FTP server is less than ideal and, while this is due to the FTP protocol itself, the class could be written to handle this as would an FTP client such as FileZilla and command line/class FTP handlers for other languages. I was wondering if anyone knows how the Ensemble adaptor works with this in case it provides code that would help, though the source does not seem to be available. Below are the issues I see in FTP, some are based on past experience writing our own FTP handler in the past

1 2
0 403


I have been facing a problem for several months, I have several flows that work in SFTP with the iris class EnsLib.FTP.PassthroughService

The problem is that from time to time I get an error message that says:

"A connection could not be established because the target computer expressly refused it"

I had the case for a server at our house and we solved the problem by extending the call interval parameter to 60 seconds,

1 3
0 151

In the WRC, we often see customers contact us because they are having been provided a .PPK file for use with SFTP connections, but they don’t know how to use that key within InterSystems IRIS. This article will explain why this represents such a problem, and explain how to use the .PPK key to generate a Private / Public Key pair in a format recognized by InterSystems IRIS.

1 0
0 118

Hello everyone,

We have a process that is listening to an FTP service to collect some CSV files and process them. The process works correctly and when it ends it clears the directory waiting for it to enter some other file.

We have been receiving the following error message for a long time:

1 4
0 831

Morning everyone,

I would appreciate some advice please- hopefully there is plenty of experts out there.

We are setting up an sFTP share between hospital trusts here in the UK and I have set the outbound operation up using a custom extension of EnsLib.HL7.Operation.FTPOperation.

We are configuring a VPN tunnel to run between the sites also so there is a bit of firewall / network routing to take place to enable the connection but to add in a complication we are on a mirrored cluster and usually present on a Virtual IP address.

0 2
0 372

I have a service named FTP_In that is of class EnsLib.HL7.Service.FTPService. It picks up files from multiple subfolders and sends them to an EnsLib.HL7.MsgRouter.RoutingEngine. What I want to do is somehow capture the subfolder as a variable for use in the routing rules. Is this possible?

Let's say I have the following files and directory structure on my FTP Server

0 6
0 538
· Mar 21, 2023
Logging FTP Business Service

I am having an issue with a file not being deleted from the FTP server and returning an error to this effect. The file, however, was fully processed. This causes the file to process again.

My question is I seem to recall a flag that can be set to enable more detailed tracing to be done on the FTP service/adapter. However, I have not been able to locate this. Does anyone recall such a logging setting or was I just dreaming?

0 0
0 172

I'm designing a workflow for PHR via FTP. What I've done is create a single FTP adapter to pick up files from multiple customers. A router then accesses a lookup table and determines if a particular customer is allowed to send a particular message type to the state. If not, the message doesn't go out. It seems like everyone is against this approach (other than my CEO, thankfully), including Intersystems:

0 5
0 324


I am trying to send a HL7 Billing Batch 2.3:FHS file out to an FTP site:

The file needs to be in Variable Length / Carriage return carriage control format--

When I send the file, the format is Fixed Length 512 Byte Record-- Not Working

The data is ok within the file-- It is just the way I am sending it out of Ensemble that is not correct.

I am thinking that it is a setting within the Operation that I am missing or not choosing correctly.


Separators -|^~\&\r

0 2
0 308


I have a EnsLib.HL7.Operation.FTPOperation that uses SFTP protocol and public/private key to connect to an external vendor moveitcloud.

Issue: The vendor is planning to enable Multi Factor Authentication for this file transfer account.

Question: Have you configured a SFTP operation to use Multi factor Authentication? If not, is there another way?

Thank you,

0 1
0 245


I'm currently trying to setup a SFTP Ensemble production to handle all of my SFTP transactions. It's been going well, but I'm currently running into an issue where it is saying it is unable to exchange encryption keys. Error Below:

Unable to exchange encryption keys [80101005] at Session.cpp:238,0' matched ReplyCodeAction 1 : 'E=R' resulting in Action code R

Any advice on getting around this would be appreciated.

0 3
0 186
· Jun 11, 2020
SFTP connect


I'm trying to upload file to SFTP server.

I have access to SFTP server .
My code is bellow

Try {
Set sftp = ##class(%Net.SSH.Session).%New()

0 10
1 1.6K

I am having a problem getting pair key authentication to work on my local PC. I am using freeSShd as the SFTP server. I generated private and public keys using putty gen . I used these keys to successfully log into the root directory using both Winscp and Putty. But this is not working with an FTP Operation. Below is the error that results. freeSSHd server log shows that I log in but immediately disconnect.

I am working on HS2015.1.1 Please help !!

0 1
0 1.3K