如何将文件从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> 
+0

更多的线索,请〜 – Ack

+0

编辑答案。 – Ratha

+0

对不起,我无法在ESB中创建上述代理,故障服务消息: 无法为VFS传输配置服务StockQuoteProxy:服务没有传输vfs的配置信息。此服务被标记为有问题,并且无法通过VFS传输。 – Ack

我同意拉瑟说,但你也将需要启用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>