WSO2 ESB ftp到SOAP

WSO2 ESB ftp到SOAP,wso2,wso2esb,Wso2,Wso2esb,我们有一个只能通过ftp协议上传文件的遗留应用程序。我们当前的应用程序具有用于类似文件提交的SOAP接口。有没有办法配置WSO2 ESB,通过ftp将上传的文件转换为SOAP请求,供当前应用程序使用?是的,这是一种非常常见的方法。您可以创建从FTP读取的VFS代理。然后,您可以进行转换(取决于输入格式)(即XSLT)以适合您的SOAP端点,然后只需对您的WS进行 下面是一个示例(仅伪代码-未测试),但将为您提供一个良好的起点: <?xml version="1.0" encoding="U

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

是的,这是一种非常常见的方法。您可以创建从FTP读取的VFS代理。然后,您可以进行转换(取决于输入格式)(即XSLT)以适合您的SOAP端点,然后只需对您的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>

10
vfs:ftp://user:password@服务器/路径
.[.]xml
应用程序/xml

是的,这是一种非常常见的方法。您可以创建从FTP读取的VFS代理。然后,您可以进行转换(取决于输入格式)(即XSLT)以适合您的SOAP端点,然后只需对您的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>

10
vfs:ftp://user:password@服务器/路径
.[.]xml
应用程序/xml
对于不区分大小写的XML扩展,我会使用
*(x | x)(m | m)(l | l)
。是的,我们经常使用(XML)|(XML),其他大小写字符的混合有点奇怪,但很有效。感谢您使用
*(x | x)(m | m)(l | l)
进行不区分大小写的XML扩展。是的,我们经常使用(XML)|(XML),其他大小写字符的混合有点奇怪,但可以工作。谢谢你的提示