我正在使用serviceCalloutPolicy来获取来自某些“ xyz” api的响应。 “ xyz” api返回的响应是文本数据,例如“ abnfhjdkdhrju784hhkfjhbbhg21g3u2u9fdjkfnfddsnrijirry3784yewrgshbsdjbcjsvnvksdnv”,它既不是json也不是xml。因此如何将这些数据提取为变量。我想将此数据用作另一个api调用中的标头。
答案 0 :(得分: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>
然后使用变量名来引用值。