私は、ESB が SFTP フォルダーをスキャンしていくつかのアクションを実行する必要がある WSO2 でいくつかのサンプル ユース ケースをテストしています。これが私がしたことです:
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処理に固有のものであると思われます。
私は何か間違ったことをしていますか、それともソフトウェアにバグがありますか?
前もって感謝します、
ソドリス