[
https://issues.apache.org/jira/browse/CAMEL-7063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pontus Ullgren resolved CAMEL-7063.
-----------------------------------
Resolution: Not A Problem
Sorry found the separator URI Options.
Setting this to UNIX solved the issue.
> FTPOperations uses local OS path separator, instead of FTP Server in
> buildDirectory
> -----------------------------------------------------------------------------------
>
> Key: CAMEL-7063
> URL: https://issues.apache.org/jira/browse/CAMEL-7063
> Project: Camel
> Issue Type: Bug
> Components: camel-ftp
> Affects Versions: 2.12.1
> Environment: Camel 2.12.1
> Java JDK 1.6 running on Windows connecting to SFTP and FTP on remote *nix
> systems.
> Reporter: Pontus Ullgren
>
> I have a problem when running a camel route that moves files from a SFTP
> server to a FTP server.
> The problem occurs when the camel route executes on Windows while the remote
> servers are *nix.
> This log shows the error (hostname, usernames and paths has been changed). As
> you can see FtpOperations#buildDirectory() is called using the local OS path
> separator.
> ---
> INFO [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.RemoteFileProducer] Connected and
> logged in to:
> Endpoint[ftp://[email protected]//d02/test/in?binary=true&fileName=%24%7Bfile%3Aonlyname%7D&localWorkDirectory=%2Ftmp%2FcamelFileTmp%2F10027&password=xxxxxx&tempFileName=TEMP_%24%7Bfile%3Aonlyname%7D]
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.RemoteFileProducer] Writing using
> tempNameFile: /d02/test/in/TEMP_PDF20131211001.pdf
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations]
> existsFile(/d02/test/in/PDF20131211001.pdf)
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Existing file:
> /d02/test/in/PDF20131211001.pdf, target file: /d02/test/in/PDF20131211001.pdf
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.RemoteFileProducer]
> EagerDeleteTargetFile, target exists
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.RemoteFileProducer] Eagerly
> deleting existing file: /d02/test/in/PDF20131211001.pdf
> DEBUG [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Deleting file:
> /d02/test/in/PDF20131211001.pdf
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] getCurrentDirectory()
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Current dir:
> /home/user1
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations]
> changeCurrentDirectory(/d02/test/in)
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Changing directory: /
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Changing directory:
> d02
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Changing directory:
> test
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Changing directory:
> in
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Client deleteFile:
> PDF20131211001.pdf
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations]
> changeCurrentDirectory(/home/user1)
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Changing directory: /
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Changing directory:
> home
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Changing directory:
> user1
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations]
> existsFile(/d02/test/in/TEMP_PDF20131211001.pdf)
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations]
> buildDirectory(\d02\test\in)
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Trying to build
> remote directory: \d02\test\in
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations]
> changeCurrentDirectory(/home/user1)
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Changing directory: /
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Changing directory:
> home
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations] Changing directory:
> user1
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.RemoteFileProducer] About to write
> [/d02/test/in/TEMP_PDF20131211001.pdf] to
> [Endpoint[ftp://[email protected]//d02/test/in?binary=true&fileName=%24%7Bfile%3Aonlyname%7D&localWorkDirectory=%2Ftmp%2FcamelFileTmp%2F10027&password=xxxxxx&tempFileName=TEMP_%24%7Bfile%3Aonlyname%7D]]
> from exchange [Exchange[PDF20131211001.pdf]]
> TRACE [Camel (camel-context) thread #24 -
> sftp://[email protected]/download/PDF]
> [org.apache.camel.component.file.remote.FtpOperations]
> storeFile(/d02/test/in/TEMP_PDF20131211001.pdf)
> ----
> The result is that there is a new empty folder called "\d02\test\in" in
> /home/user1 on the ftp server. The file it self is placed in the correct
> folder since FtpOperations#storeFile() is called with the original filename
> (not processed by FileUtils).
> From a quick analysis of the problem it seems to originate in
> "GenericFileProducer.java" line 260, where FileUtil.normalizePath will give a
> path with '\' since the executing platform is Windows.
> One solution might be that FTPOperations fix the path before actually trying
> to build the directory.
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)