Как получить имя файла с FTP-серверов?

Я хочу добавить службу в WSO2, эта служба в основном используется для сканирования файлов на удаленных ftp-серверах и сообщает клиенту имя файла.

Процесс выглядит следующим образом: Службы планируют сканирование ftp-направления, если найдены подходящие файлы, то имя файла отправляется клиенту(sendReportFile(fileName)).

Как это сделать в wso2?

Я думаю, что мне нужно использовать vfs для сканирования файла, но как отправить имя файла клиенту?


person luohao    schedule 11.05.2012    source источник


Ответы (2)


Если вы используете vfs в качестве транспорта, имя полученного файла доступно как свойство транспорта с именем FILE_NAME. Имя файла и полный путь доступны как транспортное свойство FILE_PATH.

Таким образом, вы можете использовать функцию XPath get-property() для получения значения либо с помощью

получить-свойство('транспорт', 'ИМЯ_ФАЙЛА')

or

получить-свойство('$trp:ИМЯ_ФАЙЛА')

person erikl    schedule 13.05.2012

Если вам нужно справиться с этим без загрузки фактического файла (как в случае с 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

person mifanc    schedule 24.09.2013
comment
Я думаю, было бы здорово, если бы вы могли опубликовать некоторые соответствующие фрагменты кода, а также ссылки, которые вы разместили. - person RinoTom; 24.09.2013