Как собирать текстовые данные из ответа 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>
А затем используйте имя переменной для ссылки на значение.