HTTPModifier 런타임 오류 문제 해결

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 정책에 지정된 변수가 다음 중 하나인 경우에 발생합니다.

  • 범위를 벗어난 경우(정책이 실행 중인 특정 흐름에서 사용할 수 없음)
  • 확인할 수 없는 경우(정의되지 않음)

진단

  1. 오류가 발생한 HTTPModifier 정책과 사용할 수 없는 변수의 이름을 식별합니다. 두 항목은 모두 오류 응답의 faultstring 요소에서 찾을 수 있습니다.

    예를 들어 다음 faultstring에서 정책 이름은 googleBook이고 변수는 var입니다.

    "faultstring": "HTTPModifier[googleBook]: unable to resolve variable var"
    
  2. 실패한 HTTPModifier 정책 XML에서 사용된 변수의 이름이 위 1단계의 오류 문자열에서 식별된 변수 이름과 일치하는지 확인합니다.

  3. 변수가 HTTPModifier 정책이 실행되는 흐름에서 정의되고 사용 가능한지 확인합니다.

  4. 변수가 다음 중 하나인 경우

    1. 범위를 벗어난 경우(정책이 실행 중인 특정 흐름에서 사용할 수 없음)
    2. 확인할 수 없는 경우(정의되지 않음)

    이는 오류의 원인이 됩니다.

    요청 흐름의 HTTPModifier 정책 이전에 실행된 정책에 변수가 정의되어 있는지 확인합니다. 변수가 정의되지 않은 경우 다음과 같은 오류 코드가 표시됩니다.

    steps.httpmodifier.UnresolvedVariable
    

해결 방법

정책에서 참조하는 변수가 존재하고 HTTPModifier 정책이 실행되는 특정 흐름에서 사용할 수 있는지 확인합니다.