我正在使用 WSO2 测试一些示例用例,其中 ESB 必须扫描 SFTP 文件夹并执行一些操作。这是我所做的:
1)我在axis2.xml中启用了VFS传输监听器:
<transportReceiver name="vfs" class="org.apache.synapse.transport.vfs.VFSTransportListener"/>
<transportSender name="vfs" class="org.apache.synapse.transport.vfs.VFSTransportSender"/>
2)我插入了以下代理(出于显而易见的原因,我更改了 user:pass):
<proxy xmlns="http://ws.apache.org/ns/synapse" name="SFTPVFSProxy" transports="vfs" statistics="disable" trace="enable" startOnLoad="true">
<target>
<inSequence>
<log level="full" />
</inSequence>
</target>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.PollInterval">3</parameter>
<parameter name="transport.vfs.MoveAfterProcess">vfs:sftp://user:pass@10.254.241.69:22/home/user/sftp/out</parameter>
<parameter name="transport.vfs.FileURI">vfs:sftp://user:pass@10.254.241.69:22/home/user/sftp/in</parameter>
<parameter name="transport.vfs.MoveAfterFailure">vfs:sftp://user:pass@10.254.241.69:22/home/user/sftp/out</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>
<parameter name="transport.vfs.ContentType">text/plain</parameter>
<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
</proxy>
在 4.5.0 和 4.5.1 两个版本中都不会触发任何内容。除了代理已成功部署的一些信息外,日志文件中没有输出。完全相同的脚本适用于版本 3.0.1。
此外,如果我将“sftp”更改为“ftp”或本地文件,监听器也会在 v4.X 中正常触发,这让我相信它可能是特定于 sftp 处理的东西。
我做错了什么还是软件中有错误?
先感谢您,
托多里斯