WSO2 ESB ftp到SOAP

Adr*_*tev 1 wso2 wso2esb

我们有一个只能通过ftp协议上传文件的遗留应用程序.我们当前的应用程序具有用于类似文件提交的SOAP接口.有没有办法配置WSO2 ESB将上传的文件通过ftp转换为SOAP请求以供我们当前的应用程序使用?

Fiv*_*veO 5

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

这里有一个例子(只有伪代码 - 未经过测试),但会给你一个很好的起点:

<?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:password@server/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>
Run Code Online (Sandbox Code Playgroud)