如何将文件从ServiceClient客户端导出到wso2 ESB vfs代理?
问题描述:
WSO2 ESB可以通过VFS传输下载远程文件,但客户端如何在没有FTP服务器或任何文件上载WS API的情况下将文件导出到WSO2 ESB VFS服务器? WSO2 ESB是否支持VFS服务器?如何将文件从ServiceClient客户端导出到wso2 ESB vfs代理?
如果我已经创建了一个vfs代理,我可以通过此代理从ServiceClient客户端导出文件吗?
答
定义端点与vfs端点并发送消息。
编辑:你可以试试这样;
<proxy name="StockQuoteProxy" transports="vfs" startOnLoad="true">
<target>
<inSequence>
<property name="OUT_ONLY" value="true"/>
<send>
<endpoint>
<address uri="vfs:ftp://[email protected]/out?vfs.passive=true"/>
</endpoint>
</send>
<drop/>
</inSequence>
</target>
</proxy>
答
我同意拉瑟说,但你也将需要启用VFS为了在根据WSO2 ESB创建代理服务使用VFS传输。
你可以做到这一点的要配置菜单选项卡上的WSO2 ESB的仪表盘的左侧,选择交通服务和命中启用VFS运输(下李斯特和发件人取决于你会在你的代理服务器使用哪一个 - 尽管两者都启用是安全的)。希望能帮助到你。
以下代理服务用于侦听在复制文件夹上的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:[email protected]: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:[email protected]:22/in</parameter>
<parameter name="transport.vfs.MoveAfterProcess">vfs:sftp://user:[email protected]:22/out</parameter>
<parameter name="transport.vfs.MoveAfterFailure">vfs:sftp://user:[email protected]: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>
更多的线索,请〜 – Ack
编辑答案。 – Ratha
对不起,我无法在ESB中创建上述代理,故障服务消息: 无法为VFS传输配置服务StockQuoteProxy:服务没有传输vfs的配置信息。此服务被标记为有问题,并且无法通过VFS传输。 – Ack