我想在 WSO2 中添加一个服务,该服务主要用于扫描远程 ftp 服务器上的文件并告诉客户端文件名。
流程如下:服务定时扫描ftp方向,如果找到匹配的文件,则发送文件名给客户端(sendReportFile(fileName))。
如何在 wso2 中做到这一点?
我想我需要使用 vfs 来扫描文件,但是如何将文件名发送给客户端?
我想在 WSO2 中添加一个服务,该服务主要用于扫描远程 ftp 服务器上的文件并告诉客户端文件名。
流程如下:服务定时扫描ftp方向,如果找到匹配的文件,则发送文件名给客户端(sendReportFile(fileName))。
如何在 wso2 中做到这一点?
我想我需要使用 vfs 来扫描文件,但是如何将文件名发送给客户端?
如果您使用 vfs 作为传输,则拾取文件的文件名可用作名为 FILE_NAME 的传输属性。文件名和完整路径可用作传输属性 FILE_PATH。
因此,您可以使用 get-property() XPath 函数来获取值,或者使用
获取属性(“运输”,“文件名”)
或者
获取属性('$trp:FILE_NAME')
如果您需要在不下载实际文件的情况下处理此问题(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