在wso2 esb中如何存储多部分/表单数据请求有效负载并在后续序列中使用

时间:2018-07-29 06:32:16

标签: wso2 wso2esb

在wso2 ESB中,我具有以下的multipart / formdata请求有效负载。

key: file  value(file): image
key: data  value(text): {"a":"b","c":"d"}

但是首先我要存储此内容,然后我要使用此有效负载。如何做到这一点。我的意思是,在存储了这个multipart / formadata请求之后,我要进行其他一些处理,然后最后给出的响应与之前存储的请求相同。

我尝试过使用属性,但是由于它以字符串形式存储,因此在处理multipart / formadata之后将其视为文本(编码为UTF-8或文本),因此图像将 被视为文本。

1 个答案:

答案 0 :(得分:0)

我通过首先使用Rich Mediator设置属性,然后再使用Rich Mediator来使用该属性,解决了上述问题。因此,它保留了格式,如果我们使用属性中介器存储属性,则必须将其存储为字符串或OM。因此,该格式将不会保留,并且在运行时会将图像编码也视为文本

<enrich>
    <source clone="false" type="body"/>
    <target type="property" property="inputpayload"/>
</enrich>
.
.
.
<enrich xmlns="http://ws.apache.org/ns/synapse"> 
           <source clone="false" property="inputpayload"/> 
           <target action="replace" type="body"/> 
</enrich>