更改 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('{"id":"', //id/text(), '"}')" />
</args>
</payloadFactory>
<log level="custom">
<property name="TransformedMessage" expression="$body" />
</log>
您将在 wso2carbon.log
中看到 IncomingMessage
和 TransformedMessage
。
[1] - https://docs.wso2.com/display/ESB481/PayloadFactory+Mediator
我是 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('{"id":"', //id/text(), '"}')" />
</args>
</payloadFactory>
<log level="custom">
<property name="TransformedMessage" expression="$body" />
</log>
您将在 wso2carbon.log
中看到 IncomingMessage
和 TransformedMessage
。
[1] - https://docs.wso2.com/display/ESB481/PayloadFactory+Mediator