使用PayLoadFactory格式内联创建JSON PayLoad时出错

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

我正在使用WSO2 API Manager 3.1.0,并且需要按一个API的IN顺序访问REST端点。

我正在尝试使用PayloadFactory中介程序以内联格式创建JSON有效负载。

<payloadFactory description="" media-type="json">
    <format>
      {"result":[{"id":"$1","description":"$2"}]}
    </format>
    <args>
        <arg evaluator="json" expression="get-property('uri.var.assetId')"/>
        <arg evaluator="json" expression="$trp:apisegutoken"/>
    </args>
</payloadFactory>
<property name="messageType" scope="axis2" type="STRING" value="application/json"/>
<call blocking="true">
    <endpoint>
        <address uri="http://postman-echo.com/get"/>
    </endpoint>
</call>

当我向API IN序列中添加自定义策略时,出现以下错误:

[2020-01-13 17:21:26,422]警告-SynapseXMLConfigurationFactory序列配置:admin--NMGI:v1.0.0--无法建立-在故障安全模式下继续com.jayway.jsonpath.InvalidPathException:预期位置“ 1”处的字符非法。要么 '[在com.jayway.jsonpath.internal.path.PathCompiler.fail(PathCompiler.java:616)〜[json-path_2.4.0.wso2v2.jar :?]在com.jayway.jsonpath.internal.path.PathCompiler.readContextToken(PathCompiler.java:120)〜[json-path_2.4.0.wso2v2.jar :?]在com.jayway.jsonpath.internal.path.PathCompiler.compile(PathCompiler.java:58)〜[json-path_2.4.0.wso2v2.jar :?]在com.jayway.jsonpath.internal.path.PathCompiler.compile(PathCompiler.java:75)〜[json-path_2.4.0.wso2v2.jar :?]在com.jayway.jsonpath.JsonPath。(JsonPath.java:101)〜[json-path_2.4.0.wso2v2.jar :?]在com.jayway.jsonpath.JsonPath.compile(JsonPath.java:467)〜[json-path_2.4.0.wso2v2.jar :?]在org.apache.synapse.util.xpath.SynapseJsonPath中。(SynapseJsonPath.java:102)〜[synapse-core_2.1.7.wso2v137.jar:2.1.7-wso2v137]

我尝试了具有相同结果的不同JSON格式。

¿在其中指定JSON的正确方法是什么?

wso2 mediator apim
1个回答
0
投票

如果是evaluator=json,则expression必须是json路径。但是对于您而言,在读取查询参数和HTTP标头时,则不需要这样做。

© www.soinside.com 2019 - 2024. All rights reserved.