更改WSO2中的请求有效负载
我是WSO2的新手。 我已经代理了一项服务。现在我正在尝试更改输入请求内容。后端需要一个如下所示的请求更改WSO2中的请求有效负载,wso2,wso2carbon,Wso2,Wso2carbon,我是WSO2的新手。 我已经代理了一项服务。现在我正在尝试更改输入请求内容。后端需要一个如下所示的请求 <input> <newParam> { "id" :"8888822" } </newParam> </input> 没有开始和结束标记 任何文件或链接,这将有助于我做到这一点将是巨大的帮助 提前感谢。您可以通过使用负载工厂中介器[1]来实现这一点。在下面的示例中,您只需从请求主体中检索“id”字段的值,并将
<input>
<newParam>
{
"id" :"8888822"
}
</newParam>
</input>
没有开始和结束标记
任何文件或链接,这将有助于我做到这一点将是巨大的帮助
提前感谢。您可以通过使用负载工厂中介器[1]来实现这一点。在下面的示例中,您只需从请求主体中检索“id”字段的值,并将其附加到预定义的负载
<log level="custom">
<property name="IncomingMessage" expression="$body" />
</log>
<payloadFactory media-type="xml">
<format>
<input>
<newParam>
$1
</newParam>
</input>
</format>
<args>
<arg evaluator="xml" expression="fn:concat('{"id":"', //id/text(), '"}')" />
</args>
</payloadFactory>
<log level="custom">
<property name="TransformedMessage" expression="$body" />
</log>
$1
嗨,查米拉,非常感谢你的回复。这有助于我前进。我应用了payload factory mediator,但我只是检查是否可以在跟踪或日志中看到传入的输入内容,以及在应用策略后它是如何转换的,因为我在server.log中没有看到它。我编辑了答案以包含日志消息。希望这有帮助。
<log level="custom">
<property name="IncomingMessage" expression="$body" />
</log>
<payloadFactory media-type="xml">
<format>
<input>
<newParam>
$1
</newParam>
</input>
</format>
<args>
<arg evaluator="xml" expression="fn:concat('{"id":"', //id/text(), '"}')" />
</args>
</payloadFactory>
<log level="custom">
<property name="TransformedMessage" expression="$body" />
</log>