FTPClient

Alguém sabe porque ao tentar enviar um arquivo pelo FTPClient ele retorna esse erro?

500 PORT/EPRT (Active Mode/Extended Active Mode) is not supported. Use PASV/EPSV instead of this

O código cara, posta o código…

public static void main(String[] args) {

	FTPClient ftp = new FTPClient();
    
	try {
		
         System.out.println("Conectando...");
         ftp.connect(host, 21);
         System.out.println("Conectou");
            if (FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
                System.out.println("Autenticando...");
                ftp.login(usuario, senha);
                System.out.println("Autenticou");
                ftp.enterLocalActiveMode();
                
                    //envia o arquivo
                    InputStream is = new FileInputStream("C:\\aa.pdf");
                System.out.println("Enviando Arquivo para " + host);
                ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
                    Boolean b = ftp.storeFile("aa.pdf", is);

           } else {
                //erro ao se conectar
               ftp.disconnect();
               System.out.println("Conexão recusada");
               System.exit(0);
           }
 
    } catch (SocketException ex) {
             Logger.getLogger(Teste.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
           Logger.getLogger(Teste.class.getName()).log(Level.SEVERE, null, ex);
    }

}

tente assim:

ftp.enterLocalPassiveMode();
ftp.setUseEPSVwithIPv4(true);
ftp.setFileType(FTPClient.ASCII_FILE_TYPE);

Show! Funcionou perfeitamente!