commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Artamonov, Juri" <jartamo...@fusionone.com>
Subject RE: [vfs] Inconsistent Behavior...
Date Tue, 29 Jan 2008 15:04:42 GMT
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:mario@ops.co.at] 
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:
>
> 01-29@09:18:11 INFO  (DefaultFileReplicator)     - Using
> "C:\Users\jcarman\AppData\Local\Temp\vfs_cache" as temporary files
> store.
> 01-29@09:18:12 DEBUG (StandardFileSystemManager)     - Skipping
> provider "org.apache.commons.vfs.provider.sftp.SftpFileProvider"
> because required class "com.jcraft.jsch.JSch" is not available.
> 01-29@09:18:12 DEBUG (StandardFileSystemManager)     - Skipping
> provider "org.apache.commons.vfs.provider.smb.SmbFileProvider" because
> required class "jcifs.smb.SmbFile" is not available.
> 01-29@09:18:12 DEBUG (SoftRefFilesCache)     - putFile:
> ftp://ftp.ncbi.nih.gov/pub/HomoloGene/current/homologene.data
> 01-29@09:18:12 DEBUG (SoftRefFilesCache)     - putFile: ftp://ftp.ncbi.nih.gov/
> 01-29@09:18:12 DEBUG (SoftRefFilesCache)     - putFile:
> ftp://ftp.ncbi.nih.gov/pub/HomoloGene/current
> 01-29@09:18:12 DEBUG (SoftRefFilesCache)     - putFile:
> ftp://ftp.ncbi.nih.gov/pub/HomoloGene
> 01-29@09:18:12 DEBUG (SoftRefFilesCache)     - putFile:
> ftp://ftp.ncbi.nih.gov/pub
> The file type is imaginary.
> 01-29@09: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 <mario@ops.co.at> 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: user-unsubscribe@commons.apache.org
>> For additional commands, e-mail: user-help@commons.apache.org
>>
>>
>>     
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org
>
>   


-- 
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: mario@ops.co.at
Skype: mario_ivankovits


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message