Camel Route将文件从文件端点发送到FTP服务器

时间:2014-04-28 16:43:05

标签: spring ftp routes apache-camel

作为Apache Camel的新手,我一直在关注互联网上的例子。在每本书/论坛/博客文章附近都有一个例子,说明如何创建一个简单的路径,用于向/从FTP服务器使用/生成文件。

我的问题是我尝试使用建议的连接

连接到的主机
from("ftp://someone@someserver.com?password=secret&localWorkDirectory=/tmp")

OR

<from uri="ftp://someone@someserver/public/reports?password=password"/>

当我使用我的主机提供给我的凭据时,对我不起作用:

为了这个例子,我们可以调用FTP详细信息:

FTP用户名:username@ftpserverhost.com 密码:密码

因此,当我用我的服务器凭据替换建议的URI时,它无法连接。我假设这是因为它有两个@符号,这导致路由有些混乱。

from("ftp://username@ftpserverhost.com@ftpserverhost.com?password=secret&localWorkDirectory=/tmp")

OR

<from uri="ftp://username@ftpserverhost.com@ftpserverhost.com/public/reports?password=password"/>

有没有办法逃脱@或让这个工作?我问过我的主人是否有可能离开@ ftpserverhost.com,但是他们告诉我它不会工作。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用username选项:

from("ftp://ftpserverhost.com?password=secret&localWorkDirectory=/tmp&username=username@ftpserverhost.com")

如果这不起作用且使用Camel 2.11或更高版本,则可以使用RAW语法:

from("ftp://ftpserverhost.com?password=secret&localWorkDirectory=/tmp&username=RAW(username@ftpserverhost.com)")

如果您的选项包含RAW&或其他不得编码的特殊字符,+语法也会派上用场。