getPayloadJSON returning an empty object

前端 未结 3 1185
心在旅途
心在旅途 2021-01-06 18:01

I am doing some very simple script mediation as a test to see if I can change the payload being returned by my server.

My unmediated payload comes out as:

3条回答
  •  死守一世寂寞
    2021-01-06 18:19

    Just in case someone has the same issue, I managed to get mine working.

    I had to do a workaround method:

    1. Use property mediator before the script mediator to set a property:

    property name="JSONPayload" expression="json-eval($.)"

    1. Within the script mediator, get the payload (as a string) by doing this:

    var pl_string = mc.getProperty("JSONPayload");

    1. Now have to convert the string into a JS object:

    var pl = JSON.parse(pl_string);

    1. Manipulate the payload as if you'd obtained it using getPayloadJSON().

    I know it's a hacked together method, but none of the other ways were working for me so I tried this one.

    Some information in case anyone wants to debug it:

    I'm using API Manager 1.7.

    I set the message builders and formatters to these: Builder class = "org.apache.synapse.commons.json.JsonStreamBuilder" Formatter class = "org.apache.synapse.commons.json.JsonStreamFormatter"

提交回复
热议问题