Martin, Unfortunately I already tried with ASCII type. The first example I sent I didn't change the default FTP transfer type which is ASCII.
Using some other cliente I can easily upload files, even using other FTP client libs like edtFTPj. The same set of commands using the MS FTP client (DOS) gave the following result: C:\Documents and Settings\rduval.FCD>ftp SOME_IP Connected to SOME_IP. 220 riscf80 FTP server (Version 4.2 Fri May 2 12:48:10 CDT 2008) ready. User (SOME_IP:(none)): SOME_USER 331 Password required for SOME_USER. Password: 230-Last unsuccessful login: Fri Apr 23 13:55:51 GRNLNDST 2010 on ftp from SOME_HOME 230-Last login: Fri Apr 23 14:22:06 GRNLNDST 2010 on ftp from SOME_HOME 230 User SOME_USER logged in. ftp> binary 200 Type set to I. ftp> pwd 257 "/riscf80/some/folder" is current directory. ftp> cd ../nfe 250 CWD command successful. ftp> pwd 257 "/riscf80/some/nfe" is current directory. ftp> ls 200 PORT command successful. 150 Opening data connection for .. lost+found 61438248003904006 61438248004625033 ... (Several files and folders) 61438248005605033 226 Transfer complete. ftp: 639 bytes received in 0,05Seconds 13,60Kbytes/s. ftp> quit 221 Goodbye. I think the problem is something in the lib itself, but I tried to debug it and couldn't find a reason for that. R. Duval 2010/4/23 Martin Gainty <[email protected]> > > one possible problem is > type i (if your sending/receiving machine is EBCDIC and > the file contains non-display data, e.g., COMP-3); > i know of one system that sends/receives EBCDIC.. an old ibm mainframe that > the army abandoned in Saigon in 75..all other computer systems send/receive > and process in ascii > > i would strongly suggest setting type='a' > http://www.ucop.edu/irc/campus_specs/ftp/aixftp.html > > what happens when you use issue the same series of commands at command-line > prompt? > Martin Gainty > ______________________________________________ > Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité > > > Date: Fri, 23 Apr 2010 11:55:49 -0300 > > Subject: Commons-net FTP and AIX 5.3 FTP Server > > From: [email protected] > > To: [email protected] > > > > Hello, > > > > Let me explain what's happening: I have no problems connecting and > uploading > > files to Linux, Windows or even SCO (yes, it still exists) FTP servers, > but > > when I try to execute a simple command using FTPClient to AIX 5.3 I got > the > > following exception: > > > > 1. > > org.apache.commons.net.MalformedServerReplyException: Could not > > parse response code. > > 2. Server Reply: : The socket name is not available on this system. > > 3. at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:316) > > 4. at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:491) > > 5. at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:533) > > 6. at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:582) > > 7. at org.apache.commons.net.ftp.FTP.quit(FTP.java:790) > > 8. at > org.apache.commons.net.ftp.FTPClient.logout(FTPClient.java:759 > > ) > > 9. > > at > testes.integracao.FtpCommonsNetTest.testRiscf80(FtpCommonsNetTest.java: > > 27) > > 10. ... > > > > ... The code that generates the stack above is just that: > > > > 1. @Test > > 2. public final void testRiscf80() throws Exception { > > 3. FTPClient ftp = new FTPClient(); > > 4. try { > > 5. ftp.connect(AIX_HOST_IP); > > 6. ftp.login(AIX_USER, AIX_PASSWD); > > 7. ftp.changeWorkingDirectory( > > "/riscf80/path/to/uploaded/files"); > > 8. File file = new File("some-dummy-file.gz"); > > 9. FileInputStream fis = new FileInputStream(file); > > 10. ftp.storeFile(fileName, fis); > > // Line where exception occurs > > 11. } finally { > > 12. ftp.logout(); > > 13. ftp.disconnect(); > > 14. } > > 15. } > > > > That was intriguing, > > so I performed some research and reached the following results printing > all > > responses from the server while was just trying to list some folder > files: > > > > 1. @Test > > 2. public void testListingRiscf80Internal() throws Exception { > > 3. FTPClient client = new FTPClient(); > > 4. try { > > 5. client.connect(AIX_HOST_IP); > > 6. System.out.println(client.getReplyString()); > > 7. if(client.login(AIX_USER, AIX_PASSWD)) { > > 8. System.out.println(client.getReplyString()); > > 9. client.setFileType(FTPClient.BINARY_FILE_TYPE); > > 10. System.out.println(client.getReplyString()); > > 11. client.pwd(); > > 12. System.out.println(client.getReplyString()); > > 13. client.list(); // This generates the 425 reply > code > > 14. System.out.println(client.getReplyString()); > > 15. } > > 16. } finally { > > 17. client.logout(); // Where exception is thrown > > 18. client.disconnect(); > > 19. } > > > > And these are the sysout results: > > > > 220 riscf80 FTP server (Version 4.2 Fri May 2 12:48:10 CDT 2008) ready. > > 230-Last unsuccessful login: Wed Apr 21 18:35:18 GRNLNDST 2010 on ssh > from > > SOME_IP > > 230-Last login: Thu Apr 22 19:41:45 GRNLNDST 2010 on ftp from SOME_HOST > > 230 User SOME_USER logged in. > > 200 Type set to I. > > 257 "/riscf80/some/folder" is current directory. > > 425 No data connection > > > > Some additional data may be useful to understand this issue: > > - There is no firewall between the client and the FTPServer > > - I've tried other client libraries (like edtFTPJ, ftp4j), they work but > their > > performance is very poor compared to commons-net > > - I couldn't find an explicit way to set preference on ipv4 stack over > ipv6 > > stack in commons-net lib > > I've also tried to enable the remote passive mode for no avail. Tried > > several different things, like disabling the remote verification, and > > nothing made the trick. It's a very specific problem, but any thoughts > would > > be greatly appreciated. > > > > Thanks in advance > >
