【问题标题】:how to collect text data from response apigee如何从响应 apigee 收集文本数据
【发布时间】:2019-09-10 13:25:26
【问题描述】:

我正在使用 serviceCalloutPolicy 从某些“xyz”api 获取响应。 "xyz" api 返回的响应是文本数据,如 "abnfhjdkdhrju784hhkfjhbbhg21g3u2u9fdjkfnfddsnrijirry3784yewrgshbsdjbcjsvnvksdnv" 既不是 json 也不是 xml 。那么如何将这些数据提取到变量中。我想将此数据用作另一个 api 调用中的标头。

【问题讨论】:

    标签: apigee apigee127


    【解决方案1】:

    您可以使用提取变量策略获取响应值。

    将其放在您的服务调出政策之后。

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="EVTIB-ExtractValueFromJC">
        <DisplayName>EVTIB-ExtractValueFromJC"</DisplayName>
        <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
        <Source clearPayload="false">yourJavaCalloutReponseName</Source>
        <VariablePrefix>resp.data</VariablePrefix>
        <JSONPayload>
            <!--- Extract value from Json or XML , for example Json-->
            <Variable name="apiRespData">
                <JSONPath>$.data</JSONPath>
            </Variable>
        </JSONPayload>
    </ExtractVariables>
    

    然后使用变量名来引用值。

    【讨论】:

    • 如果有效负载是纯文本则不起作用。唯一可行的解​​决方案是创建一个 JS 或 Python 策略并在那里处理它。类似var response = context.getVariable("response.content"); //Parse the response context.setVariable("my_var", value);
    猜你喜欢
    • 2014-05-29
    • 2017-08-22
    • 2013-01-16
    • 1970-01-01
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    相关资源
    最近更新 更多