WSO2 ESB - 从base64写入文件

时间:2013-06-06 11:52:33

标签: base64 wso2 esb mediator

我有一个代理,它接受带有Base64编码文件的XML文件。例如,XML看起来像:

<message>
  <content>Hello World</content>
  <attachements>
     <attachement>*Base64 code here*</attachement>
     <attachement>*Base64 code here*</attachement>
     <attachement>*Base64 code here*</attachement>
  </attachements>
</message>

我的问题: 我喜欢将解码后的文件保存到运行ESB的服务器的文件系统文件夹中。但是我怎么能这样做呢?如果我使用Base64对“Hello World”这样的简单文本进行编码,我可以使用Script Mediator和Javascript对其进行解码,但是如何将文件写入文件系统?我是否必须编写自己的Mediator或者是否有另一种我不知道的解决方案?

如果你能帮助我会很好:) 我正在使用WSO2 ESB作为我的学士论文。所以我不是专业人士:))

谢谢

2 个答案:

答案 0 :(得分:2)

您有多种选择,

  1. 如果文件大小很小,请遍历<attachments>,对于每个附件,使用脚本介体进行解码并使用语法写入文件,例如

    <property name="transport.vfs.ReplyFileName"
              expression="expression-to-compute-file-name"
              scope="transport"/>
    <property action="set" name="OUT_ONLY" value="true"/>
    <send>
        <endpoint>
            <address uri="vfs:file:///home/user/test/out"/>
        </endpoint>
    </send>
    
  2. 如果文件很大,那么编写自己的类调解器会更有效率

答案 1 :(得分:0)

将文件发送到本地文件系统。使用VFS proxy