WSO2 ESB 可以通过 VFS 传输下载远程文件,但是客户端如何在没有 FTP 服务器或任何文件上传 WS API 的情况下将文件导出到 WSO2 ESB VFS 服务器?WSO2 ESB 是否支持 VFS 服务器?
如果我已经创建了一个 vfs 代理,我可以通过这个代理从 ServiceClient 客户端导出文件吗?
WSO2 ESB 可以通过 VFS 传输下载远程文件,但是客户端如何在没有 FTP 服务器或任何文件上传 WS API 的情况下将文件导出到 WSO2 ESB VFS 服务器?WSO2 ESB 是否支持 VFS 服务器?
如果我已经创建了一个 vfs 代理,我可以通过这个代理从 ServiceClient 客户端导出文件吗?
我同意 Ratha 的说法,但您还需要启用 VFS 传输才能在 WSO2 ESB 下创建的代理服务中使用 VFS。
您可以通过转到WSO2 ESB 仪表板左侧的配置菜单选项卡,选择传输并点击 VFS 传输下的 Lister 和 Sender 上的启用来做到这一点(取决于您将在代理中使用哪一个 - 虽然两者都启用是安全的) . 希望能帮助到你。
以下代理服务正在侦听在SFTP 位置调用的文件夹,并在复制的文件夹中复制回 SFTP :
<proxy xmlns="http://ws.apache.org/ns/synapse" name="SFTPtry" transports="vfs" statistics="disable" trace="disable" startOnLoad="true">
<target>
<inSequence>
<log level="full" />
<property name="OUT_ONLY" value="true" />
<send>
<endpoint>
<address uri="vfs:sftp://user:password@your.ftp.site.com:22/copied" />
</endpoint>
</send>
</inSequence>
</target>
<parameter name="transport.PollInterval">10</parameter>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.vfs.FileURI">vfs:sftp://user:password@your.ftp.site.com:22/in</parameter>
<parameter name="transport.vfs.MoveAfterProcess">vfs:sftp://user:password@your.ftp.site.com:22/out</parameter>
<parameter name="transport.vfs.MoveAfterFailure">vfs:sftp://user:password@your.ftp.site.com:22/fail</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>
<parameter name="transport.vfs.ContentType">text/plain</parameter>
<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
</proxy>
使用 vfs 端点定义端点并发送消息..
编辑:你可以这样尝试;
<proxy name="StockQuoteProxy" transports="vfs" startOnLoad="true">
<target>
<inSequence>
<property name="OUT_ONLY" value="true"/>
<send>
<endpoint>
<address uri="vfs:ftp://test@localhost/out?vfs.passive=true"/>
</endpoint>
</send>
<drop/>
</inSequence>
</target>
</proxy>