Как собирать текстовые данные из ответа apigee

Я использую serviceCalloutPolicy, чтобы получить ответ от некоторых API "XYZ". Ответ, возвращаемый API "xyz", представляет собой текстовые данные, такие как "abnfhjdkdhrju784hhkfjhbbhg21g3u2u9fdjkfnfddsnrijirry3784yewrgshbsdjbcjsvnvksdnv", которые не являются ни json, ни xml. так как можно извлечь эти данные в переменную. Я хочу использовать эти данные в качестве заголовка в другом вызове API.

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>

А затем используйте имя переменной для ссылки на значение.

Другие вопросы по тегам