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?
File Transport Protocol (FTP) is a standard network protocol used for the transfer of computer files between a client and a server on a computer network.
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?
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.

Any idea?
Best regards,
Francisco Lopez
Hello,
I have been facing a problem for several months, I have several flows that work in SFTP with the iris class EnsLib.FTP.
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:
ERROR <Ens>ErrGeneral: Error in SFTP Dir() ERROR #7500: Error DirEnum SSH '-2146430967': 'SSH Error [80101009]: Would block waiting for status message [80101009] at SFTP.cpp:150,0
This happens when there are no files to process and appears from time to time, maybe every 20 minutes.
Hi all,
I've a problem with EnsLib.FTP.OutboundAdapter
I've configured this adapter using a SFTP connection, it has been working the first time but now its raising the following error message:
ERROR <Ens>ErrFTPPutFailed: FTP: error al colocar archivo '1600000107279008930.pdf' (mensaje='Error in SFTP Put('C:\stream\QhFaDm4L1Jrgbg.stream','mypath/1600000107279008930.pdf') ERROR #7500: Error SSH '-2146430933': SSH Error [8010102B]: Unable to send FXP_OPEN* [8010102b] at SFTP.cpp:539,0',código=0)
This is part of my code:
try {
set name = pRequest.FileName
set .TL;DR: If I set an Ensemble Production Service based on EnsLib.File.PassthroughService to a Binary charset encoding, it breaks the file handling. Any ideas?
Full long post:
All,
I set up an Ensemble production to transfer files via SFTP, which works fine sending the files to my Linux server. Then I was informed that we needed to save a hash of the file, for comparison with the destination to verify the file arrived unmodified.
Hi all,
I have a FTP.Inbounding service that read a file and move it to a other folder when it is processed. The problem is that is not working fine in SFTP server.
The code is coppied from How to - Customize Ensemble Settings article.
// begin customization code // get the Filename, attach the time stamp to it and move the file into the Archive directory // the Rename method below is using RNFR and RNTO FTP commands (RFC 959), effectively moving the file into the new directory Set tSource=pInput.Attributes("Filename") Set tArchive=..Adapter.CreateTimestamp(tSource,"%f_%Q") set fullPath
Hello,
I hope this is a simple ask..
basically I need to create local files daily at a certain time for example 11:30pm.
1. file name needs to be like xxx__20250113.txt , the date part should be next day's timestamp with format YYYYMMDD, so I will write about 17 files like that with different names.
2. write a dummy hard coded word for example “Dummy Word” in the file. the file eventually will be used by other operations to add hl7 message on top of this in it with the live interface message.
3. this needs to be done every night at 11:45pm
So how am I going to implement this?
Hello!
This may seem a bit strange, but I'd like to make a business operation which would put a file via SFTP and then confirm that the filesize on the remote server is consistent with expectations. I am thinking either of a custom copy or extension of the adapter (right now it is using EnsLib.FTP.OutboundAdapter) that overwrites method PutStream, or a version of the FTP.PassThroughOperation with a customized method OnMessage that does the check after the PutStream completes OK-- but I am uncertain of how exactly to modify either method to make the check.
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.
I’ve been exploring options for connecting Google Cloud Pub/Sub with InterSystems IRIS/HealthShare, but I noticed that IRIS doesn’t seem to ship with any native inbound/outbound adapters for Pub/Sub. Out of the box, IRIS offers adapters for technologies like Kafka, HTTP, FTP, and JDBC, which are great for many use cases, but Pub/Sub appears to be missing from the list.
Has anyone here implemented such an integration successfully?
For example:
Hey Guys!
How do you used this Operation (EnsLib.HL7.Operation.FTPOperation) I have an FTP site. But, I was wondering if you could do this within the Ensemble Engine.
Any thoughts and instructions would be amazing!
Kindly,
Tam
Dear All,
I’m having trouble creating the following business service. It’s intention is to pick up an CSV via FTP and pass it to a Business process that transforms it to a HL7 message.
I have created a record map for the CSV file, which I am trying to call in the business service and parse it into a new message class, which can be transformed in the business process.
Please could you advise:
Business Service:
/// Collects CSV from Epic FTP, looking for ENH patient /// antiobitic sensitivities to be passed on to ENH Infection control /// Patch 176 Class CUH.Serv.EpicFTPFilePickup Extends (Ens.
We have a custom FTP Service , and custom FTP adapter . Customization is just to find a duplicate file and for giving specific dynamic file spec pattern.
While running and polling for files, we are getting this error. Could you please help ? What's the issue and how to resolve it ?
ERROR <Ens>ErrFTPListFailed: FTP: Failed List for <FileName> (msg='Cache error in 'readResponse': <READ>zreadResponse+4^%Net.FtpSession.1',code=426)
Thanks for all replies in advance. We have a security vulnerability that we have to get rid of. We use Putty software to connect to cache as a terminal allowing several users to do maintenance work in cache. this uses telnet Plain text. I know that we can configure telnet to be encrypted using the super server service and I'm looking for software that can work like Putty as a terminal using encryption compatible with cache telnet encryption.
Hello community.
I have a request from a client who wants to do the following.
Currently, they have a data upload process via FTP in which they have implemented a RecordMap to store the information of the CSV files that are uploaded to the FTP directory.
Now they want to have another directory so that it is ONLY executed through an external instruction, not when the file is uploaded to the directory.
Is it possible to create a process that reads the FTP directory on demand? That is, ONLY executes the EnsLib.FTP.InboundAdapter service when we tell it to.
|
The minimum interval between invocations of the adapter by the Ensemble framework. For adapters that poll for external events, this is the polling interval. However, most polling adapters will process all inputs immediately if several are detected at one time. This is also the interval at which each Business Service will check for shutdown requests.
|
Is it seconds or what? The default is 15
Dear Community,
I need to collect a file from an FTP server over FTPS.
I have the :
When I run the business service to connect it connects, but soon after connecting it fails to open the directory:
| Type | Time | Text | ID |
|---|---|---|---|
| Error | 2020-06-23 14:42:06.542 | ERROR <Ens>ErrFTPListFailed: FTP: Failed List for *. |
Hello community,
I am receiving a HL7 message over TCP connection.
I have to set up a process/operation to produce a daily file with this HL7 messages to be created in a directory using EnsLib.File.OutboundAdapter
and EnsLib.HL7.Operation.FileOperation. The file needs to have a header line added each time it is created and a footer .I did not find any standard class file under File Adapter which will create header/footer.
Any suggestion will be greatly appreciated.
Thanks,
Jimmy Christian
I have a case where I am creating a PDF file from an Encoded String, and I need to transfer this file over to another server. I was wondering since this is PDF file if I could just invoke the FTP.OutboundAdapter within my Object script that is creating the PDF from the encoded string. Is this possible? Does anyone have an examples of using EnsLib.FTP.OutboundAdpater within their Object Script?
Thanks
Scott Roth
Integration - Interfaces
The Ohio State University Wexner Medical Center
Good Afternoon My InterSystems IRIS Peers,
I have the following issue that I need help with, I tried all possibilities that I know of, therefore I am reaching out to the community for some insight.
I have a SFTP service that pulling 2.5.1 DFT HL7 messages from our SFTP file server. The issue is that IRIS is transforming patients names and addresses that contain special chars UTF-8 to ANSI.
Examples:
è = è
é = é
í = Ã- .......etc
Hi community,
I have a service that uses EnsLib.RecordMap.Service.FTPService to capture files in an FTP directory.
Instead of uploading them all at once, I would need to do so one at a time.
I have a class that extends this class because it preprocesses, saves everything in the RecordMap class, and then processes all the records at once.
When I invoke the BP, it does so through the method set tStatus = ..SendRequest(message, 1).
We use the %Net.FtpSession class to perform FTPS file transfers. This has worked fine with Implcit FTPS servers but crashes when trying to connect to an Explicit FTPS server. Explicit FTPS has a slightly diffferent negotiation in the intitial connection and different ports.
Has anyone gotten Explicit FTPS working with the Cache classes?
Hello,
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.
Hello,
First of all thanks for your time reading this question, and thank you for your help.
🎯 We would need to create an Ensemble HealthShare Operation to read files from a FTP / SFTP server.
We have coded:
Class Operaciones.FTP.ConsultaPDFv01r001 Extends Ens.BusinessOperation [ ProcedureBlock ]
{
Parameter ADAPTER = "EnsLib.FTP.InboundAdapter";
Method ConsultarDocumentoPDF(pRequest As Mensajes.Request.ConsultaPDFRequestv01r00, Output pResponse As Mensajes.Response.RecuperarDocumentoPDFv01r00) As %Library.Status
{
set ftp = ##class(%Net.FtpSession).%New()
set isConnected = ftp.My issue is that I don't know why Ensemble processes incoming data in the wrong encoding.
Update: Issue was solved, I think, see my answer below.
our customer uploads UTF-8 encoded CSV files to our sFTP server. When I view the files on the server side, the scandinavian characters Ä and Ö (A and O with two dots on top of themselves, respectively) display correctly in the source file. When Ensemble downloads the files using a FTP Service, the characters display incorrectly in Ensemble.
I am unable to pinpoint the reason for this behavior and I was hoping this is easily solvable.
Hi,
I try SFTP connect by ObjectScript.
But occurred this error. Can't connect by SFTP key-pair authentication.
:ERROR #7510: SSH Error '-18': SSH Error [80101012]: Username/PublicKey combination invalid [80101012] at Session.cpp:458,0
Key pair was generate this way.
ssh-keygen -m pem -f ~/.ssh/id_rsa
"id_rsa" and "id_rsa.pub" is generated.
Passphrase is empty.
sftp command is connect successful.
ex.
sftp -i .ssh/id_rsa sftpuser@localhost
And other SFTP client is connect successful too.
ex. Fillezilla.
And password authentication is successful too.
ObjectScript code is this.
So we are in the midst of setting up a bunch of sFTP operations where we will have Ensemble send files to our various customers.
My questions about the set up are these:
1) For a simple test, I set up an Operation using EnsLib.FTP.PassthroughOperation. Is this the one I should be using?
2) if the receiving system has a username and password, then all I have to do is put that username and password into a Credential and assign that credential to my operation correct?
3) if the receiving system's directory is just the root directory, do I need to put anything in File Path?
I am trying to add validation to a RecordMap, because the source of the data sent file sent us bad data within the file. So, I am using PATTERN to verify certain fields start with Numeric, and Alpha where applicable. When the EnsLib.RecordMap.Service.FTPService runs into an issue it doesn't seem like it continues onto the next record if the record does not meet the validation requirements.
How can I tell EnsLib.RecordMap.Service.FTPService to log the error and continue onto the next record, so those records that fail are not processed?
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 !!