What do you mean by it fails? Can you post a snippet of the logfile?
It doesn't ftp when I add single quotes around the file name as our Mainframe guy suggested. When enable logging I get an FileNotFoundException.
DEBUG [FTPClient] 14 Mar 2008 08:24:26.446 : Connecting to /XXX.XXX.XXX.XXX:XX
DEBUG [SocketUtils] 14 Mar 2008 08:24:26.446 : Invoking connect with timeout=60000
DEBUG [SocketUtils] 14 Mar 2008 08:24:26.446 : Connected successfully
DEBUG [FTPControlSocket] 14 Mar 2008 08:24:26.446 : 220-FTPD1 IBM FTP CS V1R7 at XXX, 13:24:57 on 2008-03-14.
DEBUG [FTPControlSocket] 14 Mar 2008 08:24:26.618 : 220 Connection will close if idle for more than 5 minutes.
DEBUG [FTPControlSocket] 14 Mar 2008 08:24:26.618 : ---> USER XXXXX
DEBUG [FTPControlSocket] 14 Mar 2008 08:24:26.618 : 331 Send password please.
DEBUG [FTPControlSocket] 14 Mar 2008 08:24:26.618 : ---> PASS ********
DEBUG [FTPControlSocket] 14 Mar 2008 08:24:26.790 : 230 XXXXX is logged on. Working directory is "XXXXX.".
DEBUG [FTPControlSocket] 14 Mar 2008 08:24:26.790 : ---> TYPE A
DEBUG [FTPControlSocket] 14 Mar 2008 08:24:26.790 : 200 Representation type is Ascii NonPrint
java.io.FileNotFoundException: 'FILE.NAME' (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:129)
at java.io.FileInputStream.<init>(FileInputStream.java:89)
at com.enterprisedt.net.ftp.FTPClient.put(FTPClient.java:2020)
at com.enterprisedt.net.ftp.FTPClient.put(FTPClient.java:1999)
at DebtCollectQuickFix.sendFile1(DebtCollectQuickFix.java:457)
at DebtCollectQuickFix.main(DebtCollectQuickFix.java:38)