如何从FTP服务器获取文件名?

时间:2012-05-11 16:00:18

标签: ftp wso2 wso2carbon vfs

我想在WSO2中添加一项服务,该服务主要用于扫描远程ftp服务器上的文件,并告诉客户端文件名。

过程如下:服务预定扫描ftp方向,如果找到匹配文件,则将文件名发送给客户端(sendReportFile(fileName))。

如何在wso2中执行此操作?

我想我需要使用vfs作为扫描文件,但是如何将文件名发送给客户端?

2 个答案:

答案 0 :(得分:3)

如果使用vfs作为传输,则拾取文件的文件名可用作名为FILE_NAME的传输属性。文件名和完整路径可用作传输属性FILE_PATH。

因此,您可以使用get-property()XPath函数来获取值,使用

get-property('transport','FILE_NAME')

GET-属性( '$ TRP:FILE_NAME')

答案 1 :(得分:0)

如果您需要在不下载实际文件的情况下处理此问题(VFS就是这种情况),您可以使用自定义或类介体在给定的轮询时间连接到FTP服务器。创建自定义中介的示例: http://maninda.blogspot.co.uk/2013/01/writing-custom-mediator-for-wso2-esb_7.html

集成的Apache Commons FTPClient类可用于从介体内与FTP服务器进行交互: http://commons.apache.org/proper/commons-net//apidocs/org/apache/commons/net/ftp/FTPClient.html