commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From shaw shaw <shaw...@yahoo.com>
Subject Time out when using FTPClient.storeFile
Date Thu, 21 Feb 2008 15:01:00 GMT
  Hi,
   
  I am using FTPClient to put file in remote servers.  The code works fine in the local server(inside
of my company), but always got time out problem in the outside server(client's FTP server).
 I manually used command line ftp to the outside server without any problem. I searched on
the web and found the setDefaultTimeout does not work and need create my own SocketFactory
to set the connection time.  But I got the same result.  It does not work on my client's server.
 Did anyone see this problem before?
   
  Thanks,
  Shawn
   
  Below is the error messages and code.
   
  java.net.ConnectException: Connection timed out: connect
 at java.net.PlainSocketImpl.socketConnect(Native Method)
 at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
 at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
 at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
 at java.net.Socket.connect(Socket.java:461)
 at applications.MySocketFactory.createSocket(MySocketFactory.java:29)
 at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:513)
 at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:388)
 at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1388)
  at util.FTPandSave.ftpPut(FTPandSave.java:87)
   
  My code:
  boolean success = false;
  FTPClient ftpClient = new FTPClient();
  ftpClient.setRemoteVerificationEnabled(false);
  
  // connect
  try 
  {
  MySocketFactory MySocketFactory = new MySocketFactory();
  MySocketFactory.setConnectTimeout(60000000);
  ftpClient.setSocketFactory(MySocketFactory);
  
  ftpClient.connect(aServer);
  ftpClient.login(aID,aPWD);
  ftpClient.enterLocalPassiveMode();
  ftpClient.setFileType(FTP.ASCII_FILE_TYPE);
  InputStream in1 = new FileInputStream(aFile);
  
    
success = ftpClient.storeFile(aFile.getName(), in1);
  } 
  catch (Exception e) 
  {
  LOG.error(e.getMessage(), e);
  return success;
  }

       
---------------------------------
Be a better friend, newshound, and know-it-all with Yahoo! Mobile.  Try it now.
Mime
  • Unnamed multipart/alternative (inline, 8-Bit, 0 bytes)
View raw message