Apigee 및 Apigee Hybrid 문서입니다.
Apigee Edge 문서 보기
NothingToExtract
오류 메시지
다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.
Error Saving Revision [revision_number] ExtractVariables [policy_name]: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory. Revision:[revision_number]; APIProxy:[proxy_name]; Organization:[org_name]; Environment:[env_name].
오류 메시지 예
Error Saving Revision 2
ExtractVariables EV-XML-Age: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
예시 스크린샷
원인
Extract Variables 정책에 URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
, JSONPayload
요소가 없으면 추출할 대상이 없기 때문에 API 프록시 배포가 실패합니다.
오류 메시지에 표시된 대로 Extract Variables 정책에는 URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
, JSONPayload
중 최소 하나의 요소가 있어야 합니다.
진단
오류 메시지에서 이름이 지정된 변수 추출 정책을 살펴봅니다. 정책에 URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
또는 JSONPayload
요소 중 하나라도 없으면 이는 오류의 원인이 됩니다. 예를 들어 다음의 변수 추출 정책에는 위에서 언급된 요소가 없습니다.
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
<DisplayName>EV-XML-Age</DisplayName>
<Properties/>
</ExtractVariables>
변수 추출 정책에 필수 요소가 없으므로 API 프록시 배포가 실패합니다.
해결 방법
Extract Variables 정책에 최소한 한 개 이상의 필수 요소(URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
, JSONPayload
)가 있는지 확인합니다. 예를 들면 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
<DisplayName>EV-XML-Age</DisplayName>
<Properties/>
<Source>request</Source>
<XMLPayload>
<Namespaces/>
<Variable name="age" type="integer">
<XPath>/age</XPath>
</Variable>
</XMLPayload>
</ExtractVariables>
NONEmptyPrefixMappedToEmptyURI
오류 메시지
다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Non-empty prefix [prefix_name] cannot be mapped to empty uri.
오류 메시지 예
Error Saving Revision 3
ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
예시 스크린샷
원인
이 오류는 변수 추출 정책에, <XMLPayload>
요소 아래의 <Namespace>
요소에서 정의된 프리픽스가 있지만 URI가 정의되지 않은 경우에 발생합니다.
진단
오류가 발생한 변수 추출 정책과 프리픽스 이름을 식별합니다. 오류 메시지에서 이러한 항목을 모두 확인할 수 있습니다. 예를 들어 다음 오류에서 정책 이름은
EV-XML-Age
이고 프리픽스는apigee
입니다.ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
실패한 추출 변수 정책 XML에서,
<XMLPayload>
아래의<Namespace>
요소에서 설정된 프리픽스의 이름이 오류 메시지(위의 1단계)에서 식별된 프리픽스 이름과 일치하는지 확인합니다. 예를 들어 다음 정책은<Namespace>
요소에apigee
라는 프리픽스를 지정하고 이 프리픽스의 이름은 오류 메시지의 프리픽스 이름과 일치합니다.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age"> <DisplayName>EV-XML-Age</DisplayName> <Source clearPayload="false">request</Source> <XMLPayload stopPayloadProcessing="false"> <Namespaces> <Namespace prefix="apigee"></Namespace> <Namespace prefix="gmail">http://mail.google.com</Namespace> </Namespaces> <Variable name="legName" type="string"> <XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</Xpath> </Variable> </XMLPayload> </ExtractVariables>
2단계에서 식별된 특정 프리픽스가 있는
<Namespace>
요소에 유효한 URI가 있는지 확인합니다. URI가 누락되었다면 이는 오류의 원인이 됩니다.위의 변수 추출 정책에서는 프리픽스가
apigee
인<Namespace>
요소에 해당하는 URI가 없으므로 다음과 같은 오류가 발생합니다.ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
해결 방법
프리픽스로 정의된 모든 <Namespace>
요소에 대한 변수 추출 정책에 해당 URI가 있는지 확인합니다. 예를 들면 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
<DisplayName>EV-XML-Age</DisplayName>
<Source clearPayload="false">request</Source>
<XMLPayload stopPayloadProcessing="false">
<Namespaces>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="gmail">http://mail.google.com</Namespace>
</Namespaces>
<Variable name="legName" type="string">
<XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</Xpath>
</Variable>
</XMLPayload>
</ExtractVariables>
DuplicatePrefix
오류 메시지
다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Duplicate prefix [prefix_name].
오류 메시지 예
Error Saving Revision 2
ExtractVariables EV-XML-Age: Duplicate prefix apigee.
예시 스크린샷
원인
이 오류는 <XMLPayload>
요소 아래의 <Namespace>
요소에서 두 번 이상 정의된 프리픽스와 동일한 프리픽스가 변수 추출 정책에 있으면 발생합니다.
예를 들어 이 오류는 다음과 같이 apigee
프리픽스가 두 번 정의되었으므로 발생합니다.
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
진단
오류가 발생한 변수 추출 정책과 프리픽스 이름을 식별합니다. 오류 메시지에서 이러한 항목을 모두 확인할 수 있습니다. 예를 들어 다음 오류에서 정책 이름은
EV-XML-Age
이고 프리픽스는apigee
입니다.ExtractVariables EV-XML-Age: Duplicate prefix apigee.
실패한 추출 변수 정책 XML에서,
<XMLPayload>
아래의<Namespace>
요소에서 설정된 프리픽스의 이름이 오류 메시지(위의 1단계)에서 식별된 프리픽스 이름과 일치하는지 확인합니다. 예를 들어 다음 정책은<Namespace>
요소에apigee
라는 프리픽스를 지정하고 이 프리픽스의 이름은 오류 메시지의 프리픽스 이름과 일치합니다.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age"> <DisplayName>EV-XML-Age</DisplayName> <Source clearPayload="false">request</Source> <XMLPayload stopPayloadProcessing="false"> <Namespaces> <Namespace prefix="gmail">http://mail.google.com</Namespace> <Namespace prefix="apigee">http://www.apigee.com</Namespace> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <Variable name="legName" type="string <XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath> </Variable> </XMLPayload> </ExtractVariables>
2단계에서 식별된 특정 프리픽스가 있는
<Namespace>
요소가 두 번 이상 정의되었는지 확인합니다. 두 번 이상 정의되었으면 이는 오류의 원인입니다.위의 변수 추출 정책 예시에서는 프리픽스가
apigee
인<Namespace>
요소가 두 번 정의되었으므로 다음과 같은 오류가 발생합니다.ExtractVariables EV-XML-Age: Duplicate prefix apigee.
해결 방법
변수 추출 정책에 있는 <Namespace>
요소의 각 프리픽스에 대해 하나의 정의만 있는지 확인합니다. 예를 들면 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
<DisplayName>EV-XML-Age</DisplayName>
<Source clearPayload="false">request</Source>
<XMLPayload stopPayloadProcessing="false">
<Namespaces>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="gmail">http://mail.google.com</Namespace>
</Namespaces>
<Variable name="legName" type="string">
<XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</Xpath>
</Variable>
</XMLPayload>
</ExtractVariables>
NoXPathsToEvaluate
오류 메시지
다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no xpaths to evaluate in variable name.
오류 메시지 예
Error Saving Revision 4
ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
예시 스크린샷
원인
변수 추출 정책의 <XMLPayload>
요소 내에 <XPath>
요소가 없으면 API 프록시 배포가 위에 표시된 오류가 표시되면서 실패합니다.
진단
오류 메시지에서 실패한 변수 추출 정책을 식별합니다. 예를 들어 다음 오류에서 정책 이름은
Extract-Variables-1
입니다.ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
실패한 변수 추출 정책 XML에
<XPath>
하위 요소가 없는<XMLPayload>
요소가 있는지 확인합니다. 만약 그렇다면 이는 오류의 원인이 됩니다.예를 들어
<XMLPayload>
요소가 있는 변수 추출 정책은 다음과 같습니다.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1"> <DisplayName>Extract Variables-1</DisplayName> <Properties/> <Source clearPayload="false">request</Source> <VariablePrefix>apigee</VariablePrefix> <XMLPayload stopPayloadProcessing="false"> <Namespaces/> <Variable name="HostReachable" type="boolean"> </Variable> </XMLPayload> </ExtractVariables>
<XPath>
요소가 없으므로 API 프록시 배포는 실패합니다.
해결 방법
변수 추출 정책이 <XMLPayload>
요소 아래에 정의된 <XPath>
요소를 포함하는지 확인합니다. 예를 들면 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
<DisplayName>Extract Variables-1</DisplayName>
<Properties/>
<Source clearPayload="false">request</Source>
<VariablePrefix>apigee</VariablePrefix>
<XMLPayload stopPayloadProcessing="false">
<Namespaces/>
<Variable name="HostReachable" type="boolean">
<XPath>/isReachable</XPath>
</Variable>
</XMLPayload>
</ExtractVariables>
EmptyXPathExpression
오류 메시지
다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.
Error Saving Revision [revision_number] ExtractVariables [policy_name]: XPath expression is empty in variable name.
오류 메시지 예
Error Saving Revision 6
ExtractVariables Extract-Variables-1: XPath expression is empty in variable name.
예시 스크린샷
원인
변수 추출 정책이 <XMLPayload>
요소 내에 빈 <XPath>
표현식을 포함하는 경우 API 프록시 배포에 실패합니다.
진단
오류 메시지에서 실패한 변수 추출 정책을 식별합니다. 예를 들어 다음 오류에서 정책 이름은
Extract-Variables-1
입니다.ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
실패한 변수 추출 정책 XML에 빈
<XPath>
하위 요소를 가지는<XMLPayload>
요소가 있는지 확인합니다. 만약 그렇다면 이는 오류의 원인이 됩니다.예를 들어
<XMLPayload>
요소가 있는 변수 추출 정책은 다음과 같습니다.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1"> <DisplayName>Extract Variables-1</DisplayName> <Properties/> <Source clearPayload="false">request</Source> <VariablePrefix>apigee</VariablePrefix> <XMLPayload stopPayloadProcessing="false"> <Namespaces/> <Variable name="address" type="string"> <XPath></XPath> </Variable> </XMLPayload> </ExtractVariables>
<XMLPayload>
요소 내에 빈<XPath>
요소가 있기 때문에 API 프록시 배포가 실패합니다.
해결 방법
변수 추출 정책에 <XMLPayload>
요소 아래에 정의된, 비어있지 않고 유효한 <XPath>
요소가 있는지 확인합니다. 예를 들면 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
<DisplayName>Extract Variables-1</DisplayName>
<Properties/>
<Source clearPayload="false">request</Source>
<VariablePrefix>apigee</VariablePrefix>
<XMLPayload stopPayloadProcessing="false">
<Namespaces/>
<Variable name="address" type="string">
<XPath>/address</XPath>
</Variable>
</XMLPayload>
</ExtractVariables>
NoJSONPathsToEvaluate
오류 메시지
다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no jsonpaths to evaluate in variable name.
오류 메시지 예
Error Saving Revision 6
ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
예시 스크린샷
원인
변수 추출 정책의 <JSONPayload>
요소 내에 <JSONPath>
요소가 없으면 API 프록시 배포가 위에 표시된 오류가 표시되면서 실패합니다.
진단
오류 메시지에서 실패한 변수 추출 정책을 식별합니다. 예를 들어 다음 오류에서 정책 이름은
Extract-Variables-1
입니다.ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
실패한 변수 추출 정책 XML에서 필수
<JSONPath>
하위 요소가 없는<JSONPayload>
요소가 있는지 확인합니다. 만약 그렇다면 이는 오류의 원인이 됩니다.예를 들어
<JSONPayload>
요소가 있는 변수 추출 정책은 다음과 같습니다.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1"> <DisplayName>Extract Variables-1</DisplayName> <Properties/> <JSONPayload> <Variable name="title"> </Variable> </JSONPayload> <Source clearPayload="false">request</Source> <VariablePrefix>apigee</VariablePrefix> </ExtractVariables>
<JSONPayload>
요소 아래에 정의된<JSONPath>
하위 요소가 없으므로 API 프록시 배포는 실패합니다.
해결 방법
변수 추출 정책이 <JSONPayload>
요소 아래에 정의된 <JSONPath>
요소를 포함하는지 확인합니다. 예를 들면 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
<DisplayName>Extract Variables-1</DisplayName>
<Properties/>
<JSONPayload>
<Variable name="title">
<JSONPath>$.book.title</JSONPath>
</Variable>
</JSONPayload>
<Source clearPayload="false">request</Source>
<VariablePrefix>apigee</VariablePrefix>
</ExtractVariables>
EmptyJSONPathExpression
오류 메시지
다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.
Error Saving Revision [revision_number] ExtractVariables [policy_name]: JSONPath expression is empty in variable name.
오류 메시지 예
Error Saving Revision 6
ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
예시 스크린샷
원인
변수 추출 정책이 <JSONPayload>
요소 내에 빈 <JSONPath>
표현식을 포함하는 경우 API 프록시 배포에 실패합니다.
진단
오류 메시지에서 실패한 변수 추출 정책을 식별합니다. 예를 들어 다음 오류에서 정책 이름은
Extract-Variables-1
입니다.ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
실패한 변수 추출 정책 XML에 빈
<JSONPath>
하위 요소가 있는<JSONPayload>
요소가 있는지 확인합니다. 만약 그렇다면 이는 오류의 원인이 됩니다.예를 들어
<JSONPayload>
요소가 있는 변수 추출 정책은 다음과 같습니다.<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1"> <DisplayName>Extract Variables-1</DisplayName> <Properties/> <JSONPayload> <Variable name="account_number" type="integer"> <JSONPath></JSONPath> </Variable> </JSONPayload> <Source clearPayload="false">request</Source> <VariablePrefix>apigee</VariablePrefix> </ExtractVariables>
<JSONPayload>
요소 내에 빈<JSONPath>
요소가 있기 때문에 API 프록시 배포가 실패합니다.
해결 방법
변수 추출 정책에 <JSONPayload>
요소 아래에 정의된, 비어있지 않고 유효한 <JSONPath>
요소가 있는지 확인합니다. 예를 들면 다음과 같습니다.
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
<DisplayName>Extract Variables-1</DisplayName>
<Properties/>
<JSONPayload>
<Variable name="account_number" type="integer">
<JSONPath>$.account.number</JSONPath>
</Variable>
</JSONPayload>
<Source clearPayload="false">request</Source>
<VariablePrefix>apigee</VariablePrefix>
</ExtractVariables>
MissingName
오류 메시지
다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.
Error Saving Revision [revision_number] Error occurred while validation of bean [policy_name].xml Reason: - Required attribute name is missing in [element_name]
오류 메시지 예
Error Saving Revision 6
Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
예시 스크린샷
원인
변수 추출 정책이 QueryParam
, Header
, FormParam
또는 Variable
과 같은 정책 요소 안에 필요한 name
속성을 가지지 않는다면 API 프록시가 실패합니다.
예를 들어 이 오류는 Variable
요소에 name
속성이 누락된 경우에 발생합니다.
진단
오류가 발생한 변수 추출 정책의 이름과
name
속성이 누락된 요소의 이름을 식별합니다. 오류 메시지에서 이러한 항목을 찾을 수 있습니다. 예를 들어 다음 오류에서 정책 이름은Extract-Variables-1
이고 요소 이름은Variable
입니다.Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
실패한 변수 추출 정책 XML에서, 위의 1단계에서 확인된 이름을 가진 모든 요소에
name
속성이 있는지 확인합니다. 이름 속성이 누락된 요소가 있다면 이는 오류의 원인입니다.예를 들어 다음 변수 추출 정책에는
<Variable>
요소가 정의되어 있습니다.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1"> <DisplayName>Extract Variables-1</DisplayName> <Properties/> <Variable type="boolean"> <Pattern>{isAccountActive}</Pattern> </Variable> </ExtractVariables>
Variable
요소에name
속성이 없으므로 API 프록시 배포는 실패합니다.
해결 방법
변수 추출 정책이 QueryParam
, Header
, FormParam
또는 Variable
요소에 필요한 name
속성을 포함하는지 확인합니다. 예를 들면 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
<DisplayName>Extract Variables-1</DisplayName>
<Properties/>
<Variable name="account_active" type="boolean">
<Pattern>{isAccountActive}</Pattern>
</Variable>
</ExtractVariables>
PatternWithoutVariable
오류 메시지
다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.
Error Saving Revision [revision_number] Pattern [pattern] should have at least one variable in ExtractVariables stepDefinition [policy_name]
오류 메시지 예
Error Saving Revision 7
Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
예시 스크린샷
원인
변수 추출 정책에 <Pattern>
요소 내에 지정된 변수가 없으면 API 프록시 배포는 실패합니다. <Pattern>
요소에는 추출된 데이터가 저장될 변수의 이름이 필요합니다.
진단
오류가 발생한 변수 추출 정책의 이름과 변수가 없는 패턴을 식별합니다. 오류 메시지에서 이러한 항목을 찾을 수 있습니다. 예를 들어 다음 오류에서 정책 이름은
Extract-Variables-1
이고 요소 이름은/a/b
입니다.Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
실패한 추출 변수 정책 XML에서,
<Pattern>
요소에서 설정된 패턴이 오류 메시지(위의 1단계)에서 식별된 패턴과 일치하는지 확인합니다. 예를 들어 다음 정책은 오류 메시지의 패턴과 일치하는 패턴/a/b
를 지정합니다.예를 들어 다음은 3개의
<Pattern>
요소가 있는 변수 추출 정책입니다.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables name="ExtractVariables-1"> <Source>request</Source> <URIPath> <Pattern ignoreCase="true">/a/{pathSeg}</Pattern> <Pattern ignoreCase="true">/a/b/</Pattern> <Pattern ignoreCase="true">/a/b/c/{pathSeg}</Pattern> </URIPath> <VariablePrefix>urirequest</VariablePrefix> </ExtractVariables>
2단계에서 식별된
<Pattern>
요소에 변수가 없는지 확인합니다. 변수는 중괄호로 묶어야 합니다. 패턴에 변수가 없으면 이는 오류의 원인이 됩니다.패턴이 /a/b인
<Pattern>
요소에 변수가 포함되지 않으므로 API 프록시 배포가 실패합니다.<Pattern ignoreCase="true">/a/b/</Pattern>
해결 방법
<Pattern>
요소에 변수(중괄호 안에 포함된 이름)가 포함되어 있는지 확인합니다. 예를 들면 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables name="ExtractVariables-1">
<Source>request</Source>
<URIPath>
<Pattern ignoreCase="true">/a/{pathSeg}</Pattern>
<Pattern ignoreCase="true">/a/b/{pathSeg}</Pattern>
<Pattern ignoreCase="true">/a/b/c/{pathSeg}</Pattern>
</URIPath>
<VariablePrefix>urirequest</VariablePrefix>
</ExtractVariables>
CannotBeConvertedToNodeset
오류 메시지
다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.
Error Deploying Revision [revision_number] ExtractVariables [policy_name]: Result of xpath [policy_name] cannot be converted to nodeset. Context Revision:[revision_number]; APIProxy:[proxy_name]; Organization:[org_name]; Environment:[env_name].
오류 메시지 예
Error Deploying Revision 4 to test
ExtractVariables Extract-Variables-1: Result of xpath 123 cannot be converted to nodeset. Context Revision:4;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.
예시 스크린샷
원인
변수 추출 정책에 <Variable>
유형이 nodeset로 정의된 <XPath>
표현식이 있지만 표현식을 nodeset로 변환할 수 없으면 API 프록시 배포가 실패합니다.
진단
오류가 발생한 변수 추출 정책과 nodeset로 변환할 수 없는 XPath를 식별합니다. 오류 메시지에서 이러한 항목을 모두 확인할 수 있습니다. 예를 들어 다음 오류에서 정책 이름은
Extract-Variables-1
이고 XPath는123
입니다.ExtractVariables Extract-Variables-1: Result of xpath 123 cannot be converted to nodeset. Context Revision:4;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.
실패한 추출 변수 정책 XML에서,
<XPath>
요소에서 설정된 XPath가 오류 메시지(위의 1단계)에서 식별된 XPath와 일치하는지 확인합니다. 예를 들어 다음 정책은 오류 메시지에 있는 XPath와 일치하는를 123
으로 지정합니다.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1"> <DisplayName>Extract Variables-1</DisplayName> <Properties/> <Source clearPayload="false">request</Source> <VariablePrefix>visitor</VariablePrefix> <XMLPayload stopPayloadProcessing="false"> <Namespaces/> <Variable name="age" type="nodeset"> <XPath>123</XPath> </Variable> </XMLPayload> </ExtractVariables>
위의 2단계에서 식별된
<XPath>
에 해당하는<Variable>
요소의 유형을 검사합니다.<Variable>
유형이nodeset
면 이는 오류의 원인입니다.예시 변수 추출 정책에서
<XPath>
표현식은123
입니다.<XPath>123</XPath>
123
표현식은 nodeset로 변환할 수 없으므로, API 프록시 배포는 실패합니다.
해결 방법
<Variable>
유형이 nodeset로 정의된 경우 변수 추출 정책에서 사용되는 <XPath>
표현식을 nodeset로 변환할 수 있는지 확인합니다. 예를 들면 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
<DisplayName>Extract Variables-1</DisplayName>
<Properties/>
<Source clearPayload="false">request</Source>
<VariablePrefix>visitor</VariablePrefix>
<XMLPayload stopPayloadProcessing="false">
<Namespaces/>
<Variable name="age" type="nodeset">
<XPath>/visitor/age</XPath>
</Variable>
</XMLPayload>
</ExtractVariables>
InvalidPattern
오류 메시지
다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.
Error Deploying Revision [revision_number]
Pattern [pattern] is invalid in ExtractVariables stepDefinition [policy_name]
오류 메시지 예
Error Deploying Revision 18 to test
Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
예시 스크린샷
원인
변수 추출 정책의 URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
또는 JSONPayload
와 같은 요소에서 <Pattern>
요소의 정의가 잘못되었으면 API 프록시 배포가 실패합니다.
진단
오류 메시지에서 실패한 변수 추출 정책을 확인합니다. 예를 들어 다음 오류에서 정책 이름은
Extract-Variables-2
입니다.Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
실패한 변수 추출 정책 XML에서 다음 요소가 있는지 확인하고
<Pattern>
요소를 포함하는지 확인합니다.URIPath
,QueryParam
,Header
,FormParam
,XMLPayload
또는JSONPayload
.예를 들어 다음은
<QueryParam>
요소 내에<Pattern>
요소가 있는 변수 추출 정책의 예시입니다.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables name="ExtractVariables-2"> <DisplayName>ExtractVariables-2</DisplayName> <Source>request</Source> <QueryParam name="code"> <Pattern ignoreCase="true">{*}</Pattern> </QueryParam> <VariablePrefix>queryinfo</VariablePrefix> </ExtractVariables>
각
<Pattern>
요소의 정의를 살펴보세요. 잘못된 정의가 포함된<Pattern>
요소가 있으면 이는 오류의 원인입니다.위의 변수 추출 정책 예시에서
<QueryParam>
요소 내의<Pattern>
정의가 잘못되었습니다. 따라서 API 프록시 배포는 실패합니다. 일치 및 변수 생성 정보도 참조하세요.<Pattern ignoreCase="true">{*}</Pattern>
해결 방법
변수 추출 정책에서 요소 URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
또는 JSONPayload
내 <Pattern>
요소 정의가 올바른지 확인합니다. 예를 들면 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables name="ExtractVariables-2">
<DisplayName>Extract a value from a query parameter</DisplayName>
<Source>request</Source>
<QueryParam name="code">
<Pattern ignoreCase="true">{code}</Pattern>
</QueryParam>
<VariablePrefix>queryinfo</VariablePrefix>
</ExtractVariables>
일치 및 변수 생성 정보도 참조하세요.
XPathCompilationFailed
오류 메시지
다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.
Error Deploying Revision [revision_number] ExtractVariables [policy_name]: Failed to compile xpath [xpath] Context Revision:[revision_number]; APIProxy:[proxy_name]; Organization:[org_name]; Environment:[env_name].
오류 메시지 예
Error Deploying Revision 1 to test
ExtractVariables EV-XML-Age: Failed to compile xpath /apigee:Directions/apigee:route/apigee:leg/apigee:name. Context Revision:1;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.
예시 스크린샷
원인
<XPath>
요소에 사용된 프리픽스 또는 값이 변수 추출 정책에 선언된 네임스페이스의 일부가 아닌 경우 API 프록시의 배포는 실패합니다.
네임스페이스, XPath, 프리픽스에 대한 자세한 내용은 XML 네임스페이스와 XPath 및 XSLT에 미치는 영향을 참조하세요.
진단
오류가 발생한 Extract Variables 변수 정책과 컴파일할 수 없는 XPath를 식별합니다. 오류 메시지에서 이러한 항목을 모두 확인할 수 있습니다. 예를 들어 다음 오류에서 정책 이름은
EV-XML-Age
이고 xpath는/apigee:Directions/apigee:route/apigee:leg/apigee:name
입니다.ExtractVariables EV-XML-Age: Failed to compile xpath /apigee:Directions/apigee:route/apigee:leg/apigee:name. Context Revision:1;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.
실패한 추출 변수 정책 XML에서,
<XPath>
요소에서 설정된 XPath가 오류 메시지(위의 1단계)에서 식별된 XPath와 일치하는지 확인합니다. 예를 들어 다음 정책은 오류 메시지에 있는 Xpath와 일치하는를 /apigee:Directions/apigee:route/apigee:leg/apigee:name
으로 지정합니다.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age"> <DisplayName>EV-XML-Age</DisplayName> <Source clearPayload="false">request</Source> <XMLPayload stopPayloadProcessing="false"> <Namespaces> <Namespace prefix="gmail">http://mail.google.com</Namespace> </Namespaces> <Variable name="legName" type="string"> <XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath> </Variable> </XMLPayload> </ExtractVariables>
변수 추출 정책의
<Namespaces>
및<XPath>
요소를 검사합니다. 오류 메시지에 표시된 특정<XPath>
가 변수 추출 정책에 선언된 네임스페이스의 일부가 아닌 프리픽스 또는 값을 사용한다면 이는 오류의 원인이 됩니다.특정
<XPath>
는 변수 추출 정책 예시에서 프리픽스apigee
를 사용합니다.<XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>
하지만 프리픽스
apigee
는<Namespace>
요소에 정의되지 않았으므로<XPath>
의 컴파일이 실패하면서 배포 실패가 발생합니다.
해결 방법
<XPath>
요소에서 사용 중인 모든 네임스페이스가 Extract Variables 정책에 선언되었는지 확인합니다. 예를 들면 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
<DisplayName>EV-XML-Age</DisplayName>
<Source clearPayload="false">request</Source>
<XMLPayload stopPayloadProcessing="false">
<Namespaces>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="gmail">http://mail.google.com</Namespace>
</Namespaces>
<Variable name="legName" type="string">
<XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>
</Variable>
</XMLPayload>
</ExtractVariables>