【问题标题】:Error creating JSON PayLoad with PayLoadFactory format inline使用 PayLoadFactory 格式内联创建 JSON PayLoad 时出错
【发布时间】:2020-01-13 17:23:17
【问题描述】:

我正在使用 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] WARN - SynapseXMLConfigurationFactory 序列配置:admin--NMGI:v1.0.0--In 无法构建 - 在故障安全模式下继续 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】:

    如果evaluator=json,则expression必须是json路径。但在您的情况下,它不是必需的,因为您正在读取查询参数和 HTTP 标头。

    【讨论】:

      猜你喜欢
      • 2013-12-29
      • 2015-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多