【问题标题】:FTP using wso2 EI611 vs Apache-CommonsVFS3.6使用 wso2 EI611 与 Apache-CommonsVFS3.6 的 FTP
【发布时间】:2024-01-23 02:28:01
【问题描述】:
  1. 使用 Inbound-endpoint-file.deployed 创建了一个使用 WSO2 ei611 的碳应用程序 在 WSO2 上。
  2. 适用于本地文件。
  3. 当给定 FTP url (ftp://username:password@servername/folder1/folder2/folder3),抛出警告- 错误警告 FilePollingConsumer 无法访问或读取文件或目录:用户名“:@”服务器名/文件夹 1/文件夹 2/文件夹 3。原因:文件不存在!
  4. 在 url 中使用了十六进制密码(因为密码有 spl 字符),仍然如此 不工作。
  5. 我将所有 FTP 文件夹/子文件夹都更改为“chmod 777”,但还是不行。
  6. 我知道,EI611 使用 apache-commons-ftp。此库中使用了错误字符串。
  7. 然后我下载了 apache-commons-net-3.6 并使用相同的库并运行 来自 WSO2 服务器机器的 FTP 客户端 java,它工作正常,在
    使用 java 连接到 FTP 服务器。

那么,问题出在哪里?你好,WSO2?关心回答?

【问题讨论】:

  • 嗨,你的端点是相似的吗?:
    username:password@server/folder?vfs.passive=true">
  • 在某些项目中,我不得不使用执行 FTP 任务的 java 中介,因为用户名和密码包含特殊字符,请尝试更改这些值。
  • 嗨 Julio,我需要在 FTP URL 中添加“vfspassive=true”吗?我会试试的,但是为什么?
  • FTP客户端和服务器不在同一个网络时需要。

标签: apache ftp wso2esb apache-commons-net wso2ei


【解决方案1】:

添加 vfs.passive=true 起到了神奇的作用。谢谢你的提示。之前在开发的时候确实看到过这个参数,但是忽略了,觉得没什么价值。

【讨论】: