Uploaded image for project: 'Commons VFS'
  1. Commons VFS
  2. VFS-201

FTP is failing by saying "File doesn't exist" even the file exists and a valid file.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • Linux

    Description

      Hi,

      We are facing a strange problem with vfs file transfer from one of the FTP locations. Java code throws the FileSystemException by saying "<particular file> does not exist". On the other hand, FTP to that site and wget are working.

      Moreover, from the same machine we are able to FTP from the command line and able to download the file using get command.
      And also, wget works fine. No idea the same is failing from java.

      Please find the code snippent below:

      FileSystemOptions fso = new FileSystemOptions();
      SftpFileSystemConfigBuilder.getInstance().setStrictHostKeyChecking(fso, "no");

      FileObject sourceFileObject = fsm.resolveFile(sourceUri, fso);
      String sourceFilePath = sourceFileObject.getName().getPath();

      FileObject targetFileObject = fsm.resolveFile(targetUri, fso);

      FileObject tfo = targetFileObject;
      if(tfo.getType() == FileType.FOLDER)
      tfo = targetFileObject.resolveFile(sourceFileObject.getName().getBaseName());
      LOGGER.info("The URI is a file");
      LOGGER.info("Remote Path: [" + sourceFileObject.getName().getPath() + "] Local Path: [" + tfo.getName().getPath() + "]");
      copyFile(sourceFileObject, tfo);

      copyFrom method:

      private void copyFile(FileObject sourceFileObject, FileObject targetFileObject)

      { targetFileObject.copyFrom(sourceFileObject, new AllFileSelector()); copiedFiles.add(sourceFileObject.getName().getPath()); }

      catch (FileSystemException e)

      { failedFiles.add(sourceFileObject.getName().getPath()); failedFileExceptions.add(e); LOGGER.error("Exception in FileTransferAgent:copyFile "+e); }

      }

      exception is:

      Exception in FileTransferAgent:copyFile org.apache.commons.vfs.FileSystemException: Could not copy "ftp://usename:password@ipaddress/home/blrproj/console.out" because it does not exist.
      org.apache.commons.vfs.FileSystemException: Could not copy "ftp://usename:password@ipaddress/home/blrproj/console.out" because it does not exist.
      at org.apache.commons.vfs.provider.AbstractFileObject.copyFrom(AbstractFileObject.java:858)
      at FileTransferAgent.copyFile(FileTransferAgent.java:153)
      at FileTransferAgent.copyFiles(FileTransferAgent.java:131)
      at FileTransferAgent.main(FileTransferAgent.java:238)

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              satishkumar.k Satish Kumar Kommuri
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: