解码编码响应

问题描述 投票:0回答:1

我无法弄清楚如何解码和编码响应。当我到达 wso2 并结束时,我得到了。

这是我得到的回复:

{"binary":"eyJSZXNwb25zZUluZm8iOiB7CiAgICAgICAgIlJlc3VsdENvZGUiOiAyMDAsCiAgICAgICAgIlJlc3VsdERlc2MiOiAic3VjY2VzcyIKICAgICAgfQp9"}

这就是我应该得到的回应

{"ResponseInfo": {
        "ResultCode": 200,
        "ResultDesc": "success"
      }
}

当我解码从“eyJSZXN”开始的代码时,我得到了正确的有效负载。所以唯一的问题是我在获取它时无法将其转换为 json。

    <call>
       <endpoint key="Endpoint"/>
    </call>
   <property name="messageType" scope="axis2" type="STRING" value="application/json"/>           
   <property expression="json-eval($)" name="ResponseJSON" scope="default" type="STRING"/>
                                     

上面的代码给了我 ResponseJSON 中的二进制响应。因此,我想请求是否有人可以帮助我解决这个问题。

json wso2 httprequest wso2-micro-integrator
1个回答
0
投票

您可以使用

base64Decode
功能来实现此目的。检查以下示例。

<property name="encodedBody" expression="json-eval($.binary)"/>
<payloadFactory media-type="json">
    <format>$1</format>
    <args>
        <arg evaluator="xml" expression="base64Decode($ctx:encodedBody)"/>
    </args>
</payloadFactory>
© www.soinside.com 2019 - 2024. All rights reserved.