首页 文章

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

提问于
浏览
0

作为Apache Camel的新手,我一直在关注互联网上的例子 . 在每本书/论坛/ bog帖子附近都有一个示例,说明如何创建一个简单的路径,该路径将使用/生成FTP服务器的文件 .

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

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

要么

<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")

要么

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

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

有任何想法吗?

1 回答

  • 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 语法也会派上用场 .

相关问题