您正在查看 Apigee X 文档。
查看 Apigee Edge 文档。
UnresolvedVariable
错误代码
steps.httpmodifier.UnresolvedVariable
错误响应正文
{ "fault": { "faultstring": "HTTPModifier[policy_name]: unable to resolve variable [variable_name]", "detail": { "errorcode": "steps.httpmodifier.UnresolvedVariable" } } }
原因
如果 HTTPModifier 政策中指定的变量为以下任一情况,则会出现此错误:
- 超出范围(在执行政策的特定流中不可用)
- 无法解析(未定义)
诊断
确定发生错误的 HTTPModifier 政策以及不可用的变量名称。您可以在错误响应的
faultstring
元素中找到这两项。例如,在以下
faultstring
中,政策名称为googleBook
,变量为var
:"faultstring": "HTTPModifier[googleBook]: unable to resolve variable var"
在失败的 HTTPModifier 政策 XML 中,验证所用变量名称是否与故障字符串中标识的变量名称(上文第 1 步中)相匹配。
确定变量是否已定义,以及在执行 HTTPModifier 政策的流中是否可用。
如果该变量:
- 超出范围(在执行政策的特定流中不可用)
- 无法解析(未定义)
就会导致错误。
检查该变量是否是在请求流中的 HTTPModifier 政策之前执行的任何政策中定义。如果该变量未定义,您将收到错误代码:
steps.httpmodifier.UnresolvedVariable
解决方法
确保政策中引用的变量存在,并且在执行 HTTPModifier 政策的特定流中可用。