【问题标题】:WSO2 ESB: How to write a file from Base64 with VFS?WSO2 ESB:如何使用 VFS 从 Base64 写入文件?
【发布时间】:2016-01-31 14:19:04
【问题描述】:

我和这个人有几乎相同的问题: WSO2 ESB - writing files out of base64

但是,在该问题的答案中没有提及如何在 JavaScript 中解码 Base64 字符串并将其附加到有效负载。这就是我感兴趣的。

提前致谢,

紧张

【问题讨论】:

    标签: wso2esb


    【解决方案1】:

    采用了稍微不同的方法。我创建了一个实用程序代理服务来重新下载文件,然后将其推送到文件系统中。

    utilty_createFile 代理服务

    <?xml version="1.0" encoding="UTF-8"?>
    <proxy xmlns="http://ws.apache.org/ns/synapse"
           name="utility_createFile"
           transports="https,http"
           statistics="disable"
           trace="disable"
           startOnLoad="true">
       <target inSequence="utility_createFile_IN" outSequence="utility_createFile_OUT"/>
       <description/>
    </proxy>
    

    utility_createFile_IN 序列

    <?xml version="1.0" encoding="UTF-8"?>
    <sequence name="utility_createFile_IN" onError="fault" xmlns="http://ws.apache.org/ns/synapse">
        <property name="FORCE_SC_ACCEPTED" scope="axis2" value="true"/>
        <property expression="//createFile/download_folder"
            name="uri.var.download_folder" xmlns:ns="http://org.apache.synapse/xsd"/>
        <property expression="//createFile/url" name="uri.var.download_url" xmlns:ns="http://org.apache.synapse/xsd"/>
        <script language="js"><![CDATA[var download_url = mc.getProperty('uri.var.download_url');
    download_url = decodeURIComponent(download_url);
    mc.setProperty('uri.var.download_url', download_url);]]></script>
        <send>
            <endpoint>
                <http method="GET" uri-template="{uri.var.download_url}"/>
            </endpoint>
        </send>
    </sequence>
    

    utility_createFile_OUT 序列

    <?xml version="1.0" encoding="UTF-8"?>
    <sequence name="utility_createFile_IN" onError="fault" xmlns="http://ws.apache.org/ns/synapse">
        <property name="FORCE_SC_ACCEPTED" scope="axis2" value="true"/>
        <property expression="//createFile/download_folder"
            name="uri.var.download_folder" xmlns:ns="http://org.apache.synapse/xsd"/>
        <property expression="//createFile/url" name="uri.var.download_url" xmlns:ns="http://org.apache.synapse/xsd"/>
        <script language="js"><![CDATA[var download_url = mc.getProperty('uri.var.download_url');
    download_url = decodeURIComponent(download_url);
    mc.setProperty('uri.var.download_url', download_url);]]></script>
        <send>
            <endpoint>
                <http method="GET" uri-template="{uri.var.download_url}"/>
            </endpoint>
        </send>
    </sequence>
    

    【讨论】:

    • 您在OUT序列中分享的代码是IN序列的代码。你能更新你的anwser吗?
    猜你喜欢
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多