更改 WSO2 中的请求负载

alter the request payload in WSO2

我是 WSO2 的新手。 我代理了一项服务。现在我正在尝试更改输入请求内容。后端期待如下请求

 <input>
 <newParam>    
 {
    "id" :"8888822"   
 }
 </newParam>
 </input>

但前端将发送如下请求:

 {
    "id" :"8888822"   
 }

没有开始和结束标签。

任何可以帮助我做到这一点的文档或链接都会有很大帮助。

提前致谢。

您可以使用 Payload Factory 调解器来实现此目的[1]。在以下示例中,您只需从请求正文中检索 "id" 字段的值并将其附加到预定义的有效负载。

    <log level="custom">
      <property name="IncomingMessage" expression="$body" />
   </log>
    <payloadFactory media-type="xml">
        <format>
             <input>
             <newParam>    
             
             </newParam>
             </input>
        </format>
        <args>
            <arg evaluator="xml" expression="fn:concat('{&quot;id&quot;:&quot;', //id/text(), '&quot;}')" />
        </args>
    </payloadFactory>
    <log level="custom">
      <property name="TransformedMessage" expression="$body" />
   </log>

您将在 wso2carbon.log 中看到 IncomingMessageTransformedMessage

[1] - https://docs.wso2.com/display/ESB481/PayloadFactory+Mediator