David Underhill · Jul 28, 2020

Explicit FTPS in Cache

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?

3 0 2 123
Log in or sign up to continue


Yes.  There's a property in the %Net.FtpSession class which says which one to use: LegacySSL.  If it's true, you'll get implicit FTPS.  If it's false, you get the default of explicit FTPS.  There's a note in the documentation of that property you might try out if you haven't already:

"Depending on the configuration of the server you are talking to it may be needed to also send 'PBSZ 0' and 'PROT P' before you can communicate, this can be done with 'Set rc=ftp.sendCommand("PBSZ 0"),rc2=ftp.sendCommand("PROT P")'."

If that doesn't help, you might need to give more details about what error it's giving.

Thanks, that isn't in the Cache documentation but the property does exist and I have found the section in the Iris documantation though it would be helpful if it actually mentioned Implicit or Explicit rather than LegacySSL as this is not very meaningful when creating the connection.