Symptom

When executing aprocess which connects to an FTPS server, the following error occurs on the FTP action:

javax.net.ssl.SSLException: 503 You must issue the PBSZ command prior to PROT
    at org.apache.commons.net.ftp.FTPSClient.execPROT(FTPSClient.java:426)
    at com.indy.engine.actionCodes.d.b.connect(SourceFile:285)
    at com.indy.engine.actionCodes.FtpPutActionCodeI.executeSimpleCode(SourceFile:277)
    at com.indy.engine.action.common.ActionCodeTypeI.executeCode(SourceFile:1608)
    at com.indy.engine.action.common.ActionCodeTypeI.run(SourceFile:1767)
    at java.lang.Thread.run(Unknown Source)

 

Solution

This error message is raised by the FTPS server.

See RFC2228 for more information on the PROTECTION BUFFER SIZE (PBSZ) command:

      This command allows the FTP client and server to negotiate a
      maximum protected buffer size for the connection.  There is no
      default size; the client must issue a PBSZ command before it can
      issue the first PROT command.

The solution is to enable this parameter on the FTP action:

 398 kb ftp pbsz

 Please contact the FTPS server's admin to define the value.