application / x-www-form-urlencoded消息格式中的方括号(wso2 ESB 5.0)

时间:2017-04-04 12:39:39

标签: wso2esb

我正在尝试通过wso2 ESB 5.0.0向需要application/x-www-form-urlencoded格式的外部HTTP API发送请求。我找到了这篇文章:

Sending Content-Type application/x-www-form-urlencoded WSO2 ESB

它几乎可以工作,但是这个供应商也需要像这样的数组格式的参数:

to[email@email.com][message_id]=message_id

不幸的是,xml和json不允许我在xml节点名称或json键名中使用方括号构建参数。逃离%5B %5D也无济于事。

我也尝试过ExpandingMessageFormatter但没有成功 - 我不能构建格式良好的属性并用它的内容替换正文的消息。例如:

<property name="messageBody" scope="default" type="STRING" value="to%5Bemail%40email.com%5D%5Bmessage_id%5D=id&amp;to%5Bemail%40email.com%5D%5Breciver_name%5D=Name%20Surname&amp;smtp_account=2.xxx.smtp&amp;subject=Test%20temat&amp;html=%3Chtml%3E%3Cb%3ETEST%3C%2Fb%3E%3C%2Fhtml%3E&amp;from=email%40email.com&amp;from_name=xxx"/>
    <payloadFactory media-type="json">
        <format>"$ctx:messageBody"</format>
        <args/>
    </payloadFactory>

或与EnrichMediator合作:

    <enrich>
        <source clone="true" property="messageBody" type="property"/>
        <target type="body"/>
    </enrich>

请,任何建议都会有所帮助。

0 个答案:

没有答案