Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
We have a Talend application that is being deployed from an AWS Windows server : the application runs fine up to the point it tries to connect to a FTP server:
Exception in component tFTPDelete_4 (CopiaArquivosFTPOn) com.enterprisedt.net.ftp.FTPException: 501 Server cannot accept argument. at com.enterprisedt.net.ftp.FTPControlSocket.validateReply(FTPControlSocket.java:1308) at com.enterprisedt.net.ftp.FTPControlSocket.setDataPort(FTPControlSocket.java:861) at com.enterprisedt.net.ftp.FTPControlSocket.sendPORTCommand(FTPControlSocket.java:715) at com.enterprisedt.net.ftp.FTPControlSocket.createDataSocketActive(FTPControlSocket.java:662) at com.enterprisedt.net.ftp.FTPControlSocket.createDataSocket(FTPControlSocket.java:629) at com.enterprisedt.net.ftp.FTPClient.createDataSocket(FTPClient.java:2756) at com.enterprisedt.net.ftp.FTPClient.dir(FTPClient.java:3918) at com.enterprisedt.net.ftp.FTPClient.dir(FTPClient.java:4023) at com.enterprisedt.net.ftp.FTPClient.dirDetails(FTPClient.java:3837)
The application runs fine on any machine other than the windows server in question.
We have tried the following measures, not being able to revert the error:
1) Opening all inbound and outbound ports in the Windows firewall
2) Changing the FTP connection from Active to Passive mode
Not much information about this anywhere - any help is appreciated
The solution to run Talend on a windows server was to set not only the FTP connection to passive mode but also define it as passive for each of the put, delete, list calls (there is an option at the bottom of these components).
Could not figure the reason as to why active mode fails even with all ports open (both on windows and AWS) : ftp calls are able to connect to the remote FTP server but any other command (list, put, delete) causes a 501 error and freezes the connection.