Seems I had something similar and I couldn't get it as well before since I
always was getting UrlFileProvider. After I looked on the code I see that
providers.xml contains
<provider class-name="org.apache.commons.vfs.provider.ftp.FtpFileProvider">
<scheme name="ftp"/>
<if-available class-name="org.apache.commons.net.ftp.FTPFile"/>
</provider>
That means org.apache.commons.net.ftp.FTPFile should be in your classpath.
After I added the corresponding library it works.
Could you please check that org.apache.commons.net.ftp.FTPFile is in your
classpath?
Best regards,
Juri.
-----Original Message-----
From: Mario Ivankovits [mailto:[EMAIL PROTECTED]
Sent: Tuesday, January 29, 2008 4:45 PM
To: Jakarta Commons Users List
Subject: Re: [vfs] Inconsistent Behavior...
Hi!
I think your only chance is to use tcpdump and/or wireshark to debug the
network flow to see the real answers of the ftp server.
Or debug into the VFS code ... somewhere in doAttach in FtpFileObject
and see whats going wrong in there.
Sorry!
Ciao,
Mario
> Well, I ran it once and it said "The file type is file" and it
> succeeded, but then I ran it again and it says "The file type is
> imaginary" and it failed. Here's the code:
>
> final FileSystemManager fsm = VFS.getManager();
> final FileObject remoteFile =
> fsm.resolveFile("ftp://ftp.ncbi.nih.gov/pub/HomoloGene/current/homologene.data");
> System.out.println("The file type is " +
> remoteFile.getType().getName() + ".");
> final File tmp = File.createTempFile("download", ".txt");
> tmp.deleteOnExit();
> final FileObject tempFile = fsm.toFileObject(tmp);
> FileUtil.copyContent(remoteFile, tempFile);
>
> Here's the complete output:
>
> [EMAIL PROTECTED]:18:11 INFO (DefaultFileReplicator) - Using
> "C:\Users\jcarman\AppData\Local\Temp\vfs_cache" as temporary files
> store.
> [EMAIL PROTECTED]:18:12 DEBUG (StandardFileSystemManager) - Skipping
> provider "org.apache.commons.vfs.provider.sftp.SftpFileProvider"
> because required class "com.jcraft.jsch.JSch" is not available.
> [EMAIL PROTECTED]:18:12 DEBUG (StandardFileSystemManager) - Skipping
> provider "org.apache.commons.vfs.provider.smb.SmbFileProvider" because
> required class "jcifs.smb.SmbFile" is not available.
> [EMAIL PROTECTED]:18:12 DEBUG (SoftRefFilesCache) - putFile:
> ftp://ftp.ncbi.nih.gov/pub/HomoloGene/current/homologene.data
> [EMAIL PROTECTED]:18:12 DEBUG (SoftRefFilesCache) - putFile:
> ftp://ftp.ncbi.nih.gov/
> [EMAIL PROTECTED]:18:12 DEBUG (SoftRefFilesCache) - putFile:
> ftp://ftp.ncbi.nih.gov/pub/HomoloGene/current
> [EMAIL PROTECTED]:18:12 DEBUG (SoftRefFilesCache) - putFile:
> ftp://ftp.ncbi.nih.gov/pub/HomoloGene
> [EMAIL PROTECTED]:18:12 DEBUG (SoftRefFilesCache) - putFile:
> ftp://ftp.ncbi.nih.gov/pub
> The file type is imaginary.
> [EMAIL PROTECTED]:18:13 DEBUG (SoftRefFilesCache) - putFile:
> file:///C:/Users/jcarman/AppData/Local/Temp/download14482.txt
> Exception in thread "main" org.apache.commons.vfs.FileSystemException:
> Could not read from
> "ftp://ftp.ncbi.nih.gov/pub/HomoloGene/current/homologene.data"
> because it is a not a file.
> at
> org.apache.commons.vfs.provider.AbstractFileObject.getInputStream(AbstractFileObject.java:1149)
> at
> org.apache.commons.vfs.provider.DefaultFileContent.getInputStream(DefaultFileContent.java:360)
> at org.apache.commons.vfs.FileUtil.writeContent(FileUtil.java:71)
> at org.apache.commons.vfs.FileUtil.copyContent(FileUtil.java:103)
>
> I left out the project-specific parts of the stack trace because it's
> not relevant, but there were no nested exceptions.
>
> On 1/29/08, Mario Ivankovits <[EMAIL PROTECTED]> wrote:
>
>> Hi!
>>
>>> Did you get my second email? That's the entire output I got when I ran it.
>>>
>>>
>> Uh, oh, ok!
>>
>> So then, it seems that VFS thinks the file is either a directory or non
>> existent.
>>
>> Could you please:
>>
>> *) check the filetype of the FileObject see if its virtual or whatever
>> *) try to connect to the ftp server using a commandline tool to see if
>> the ftp output is in a style which makes it impossible for commons-net
>> to parse the output, e.g. due to localized date format.
>>
>> Ciao,
>> Mario
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
mit freundlichen Grüßen
Mario Ivankovits
Software Engineering
OPS EDV VertriebsgesmbH
A-1120 Wien, Michael-Bernhard-Gasse 10
Firmenbuch Nr.: FN51233v, Handelsgericht Wien
Tel.: +43-1-8938810; Fax: +43-1-8938810/3700
http://www.ops.co.at
E-Mail: [EMAIL PROTECTED]
Skype: mario_ivankovits
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]