2013-02-15 106 views
1

我们有一个旧的应用程序,并且只能通过FTP协议上传文件。我们目前的应用程序具有类似文件提交的SOAP接口。有什么方法可以配置WSO2 ESB以通过ftp将上传的文件转换为SOAP请求,以供我们当前的应用程序使用?WSO2 ESB ftp到SOAP

回答

5

是的,这是一种非常普遍的做法。您可以创建一个从FTP读取的VFS代理。然后,您可以进行转换(取决于输入格式)(即XSLT)以适合您的SOAP端点,然后简单地向您的WS发送<send>

下面一个例子(仅伪码 - 未测试),但会给你一个很好的起点:

<?xml version="1.0" encoding="UTF-8"?> 
<proxy xmlns="http://ws.apache.org/ns/synapse" name="ftp_proxy_example" transports="vfs" startOnLoad="true" trace="disable"> 
    <parameter name="transport.PollInterval">10</parameter> 
    <parameter name="transport.vfs.FileURI">vfs:ftp://user:[email protected]/path</parameter> 
    <parameter name="transport.vfs.FileNamePattern">.*[.]xml</parameter> 
    <parameter name="transport.vfs.ContentType">application/xml</parameter> 
    <target faultSequence="errorSequence"> 
     <inSequence> 
      <!-- maybe a transformation --> 
      <!-- send to your WS endpoint --> 
     </inSequence> 
    </target> 
</proxy> 
+0

我会使用'<参数名称=“transport.vfs.FileNamePattern”>。 *。(x | X)(m | M)(l | L)'用于不区分大小写的XML扩展。 – Voicu 2013-02-20 18:36:49

+0

是的 - 我们经常使用(xml)|(XML),大写和小写字母的其他混合物有点奇怪,但有效。感谢提示 – FiveO 2013-02-21 07:21:13