camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lu Tahmazyan (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CAMEL-6219) FTPOperations changeCurrentDirectory uses local OS path separator, instead of FTP Server. File upload fails.
Date Sun, 19 May 2013 16:11:17 GMT

    [ https://issues.apache.org/jira/browse/CAMEL-6219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13661580#comment-13661580
] 

Lu Tahmazyan edited comment on CAMEL-6219 at 5/19/13 4:10 PM:
--------------------------------------------------------------

I am seeing the same error in 2.11.0 Release. 
Running the FTP client example (src/main/java/org/apache/camel/example/ftp/MyFtpClient.java)
shipped with 2.11.0.

I am getting 
org.apache.camel.component.file.GenericFileOperationFailedException: File operation failed:
550 Failed to change directory.

FTP server is running Windows Server.
Client is running on Mac Book Pro.  

Additionally, same code works just fine in 2.10.4 release. 


                
      was (Author: rushalias):
    I am seeing the same error in 2.11.0 Release. 
Running the FTP client example (src/main/java/org/apache/camel/example/ftp/MyFtpClient.java)
shipped with 2.11.0.

I am getting 
org.apache.camel.component.file.GenericFileOperationFailedException: File operation failed:
550 Failed to change directory.

FTP server is running Windows Server.
Client is running on Mac Book Pro.  


                  
> FTPOperations changeCurrentDirectory uses local OS path separator, instead of FTP Server.
File upload fails.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-6219
>                 URL: https://issues.apache.org/jira/browse/CAMEL-6219
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-ftp
>    Affects Versions: 2.10.4
>         Environment: Windows 7 with Oracle Java 6 JDK
> Remote vsftpd server on a Redhat based Linux distribution
>            Reporter: Mark Richards
>
> Summary:
> When uploading a single file to a vsftpd server from Windows using a Camel ftp:// endpoint
results in a 550 Failed to change directory error.
> Likely because the changeCurrentDirectory() command in FTPOperations doesn't provide
the server pathSeparator when compacting the url.
> Recreate:
>  - Start a vsftpd server (this likely affects other FTP servers) in a *nix environment.
>  - Set log4j properties to TRACE for Camel
>  - In Windows, run a simple Java class that includes the following
> ProducerTemplate pt = camelContext.createProducerTemplate();
> pt.sendBody("ftp://user@host/subfolder?fileName=test.file&password=12345678&stepwise=false&separator=UNIX");
> Trace:
> [2013.03.27 14:53:56] [main]  TRACE FtpOperations -  buildDirectory(test)
> [2013.03.27 14:53:56] [main]  TRACE FtpOperations -  changeCurrentDirectory(/var/ftp/pub)
> [2013.03.27 14:53:56] [main]  TRACE FtpOperations -  Changing directory: \var\ftp\pub
> [2013.03.27 14:53:56] [main]  WARN  RemoteFileProducer -  Writing file failed with: File
operation failed: 550 Failed to change directory.
>  Cannot change directory to: \var\ftp\pub. Code: 550
> As you can see the path swaps from /var/ftp/pub to \var\ftp\pub which is the wrong path
separator!
> Likely location:
> org.apache.camel.component.file.remote.FTPOperations:656
>     path = FileUtil.compactPath(path);
> org.apache.camel.util.FileUtil:209
>     return compactPath(path, File.separatorChar);
> File.separatorChar would return the LOCAL OS path, not the REMOTE OS path.
> This should use the value specified by separator=UNIX ("/" not "\").
> Possible fix would be to use the other compactPath(path,separator) method.
> Result:
> You cannot upload a single file using FTP in this fashion from a Windows client to a
vsftpd server on Linux. I'll have to switch to an alternative product for ftp until this is
resolved, but look forward to returning to using Camel for FTP uploads in the future :)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message