是否可以通过 Mule FTP 连接器发送 FTP SITE 命令?

Posted

技术标签:

【中文标题】是否可以通过 Mule FTP 连接器发送 FTP SITE 命令?【英文标题】:Is it possible to send an FTP SITE command through a Mule FTP connector? 【发布时间】:2016-03-30 07:41:19 【问题描述】:

我与一个接收方 FTP 站点有业务往来,该站点要求我在启动任何传输之前发送一系列 SITE 命令(可能是因为接收服务器是旧的大型机,它假定任何连接的客户端也是 zOS 或 zVM 系统,这似乎作为它们之间的默认值)并且我们正在使用 Mule ESB 社区连接到该服务器。有谁知道这是否可以使用标准 FTP 连接器?

样本序列:

site FIXRECFM 80 LRECL=80 RECFM=FB WRAPRECORD

【问题讨论】:

【参考方案1】:

关键是 Mule 的底层 FTP 客户端使用 org.apache.commons.net.ftp.FTPClient,并且该对象支持 sendSiteCommand() 方法,可以让您发送任意 SITE 命令。您需要做的就是寻找 FTPClient,我相信您可以通过在 Mule 的 FTPConnector 上调用 getFTP() 来完成。

如果您在发出连接时只需要一次 SITE 命令,那么您还可以创建自定义 Mule FTP 连接工厂。这使您可以插入一点额外的逻辑,以便在 Mule 初始化 FTP 连接时使用 sendSiteCommand() 方法发送您的“SITE”命令。好处是您只需切换到自定义 FTP 连接工厂即可自动获得正确的行为 - 在应用程序中不需要特殊逻辑。

【讨论】:

以上是关于是否可以通过 Mule FTP 连接器发送 FTP SITE 命令?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用FTP连接器在Anypoint Studio中使用mule上传和下载文件?

Linux搭建ftp服务

ftp无法与服务器建立连接

主动模式和被动模式下的 FTP 服务器端口

FTP(主动与被动)

在腾讯云上面安装宝塔系统之后,ftp不能连接。