Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
NothingToExtract
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
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].
Exemplo de mensagem de erro
Error Saving Revision 2
ExtractVariables EV-XML-Age: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
Captura de tela de exemplo
Causa
Se a política não tiver os elementos URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
ou JSONPayload
, a implantação do API Proxy falhará , porque não há nada para extrair.
Como indicado na mensagem de erro, a política precisa ter pelo menos um destes elementos incluídos na política: URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
ou JSONPayload
Diagnóstico
Analise a política nomeada na mensagem de erro. Se a política não tiver ainda um dos seguintes elementos: URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
ou JSONPayload
, essa é a causa do erro. Por exemplo, a seguinte política não tem nenhum dos elementos mencionados acima:
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
<DisplayName>EV-XML-Age</DisplayName>
<Properties/>
</ExtractVariables>
Como nenhum dos elementos obrigatórios está presente na política Extract Variables, a implantação do proxy da API falha.
Resolução
Verifique se a política tem pelo menos um destes elementos obrigatórios: URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
, JSONPayload
. Por exemplo:
<?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
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Non-empty prefix [prefix_name] cannot be mapped to empty uri.
Exemplo de mensagem de erro
Error Saving Revision 3
ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Captura de tela de exemplo
Causa
Esse erro ocorrerá se a política de variáveis de extração tiver um prefixo definido no elemento <Namespace>
no elemento <XMLPayload>
, mas nenhum URI for definido.
Diagnóstico
Identifique a política de variáveis de extração em que o erro ocorreu e o nome do prefixo. É possível encontrar os dois itens na mensagem de erro. Por exemplo, no erro a seguir , o nome da política é
EV-XML-Age
e o prefixo éapigee
:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
No XML de política de extração de variáveis com falha, verifique se o nome do prefixo definido no elemento
<Namespace>
no elemento<XMLPayload>
corresponde ao nome do prefixo identificado na mensagem de erro (etapa 1 acima). Por exemplo, a política a seguir especifica um prefixo chamadoapigee
no elemento<Namespace>
, que corresponde ao que está na mensagem de erro:<?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>
Valide se o elemento
<Namespace>
com o prefixo específico identificado na etapa 2 tem um URI válido. Se o URI estiver ausente, essa é a causa do erro.No exemplo de política de extração de variáveis mostrado acima, observe que não há URI correspondente ao elemento
<Namespace>
com o prefixoapigee
; Portanto, você receberá o erro:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Resolução
Verifique se todos os elementos <Namespace>
definidos com um prefixo têm um URI correspondente na política de variáveis de extração. Por exemplo:
<?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
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Duplicate prefix [prefix_name].
Exemplo de mensagem de erro
Error Saving Revision 2
ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Captura de tela de exemplo
Causa
Esse erro ocorrerá se a política de variáveis de extração tiver o mesmo prefixo definido mais de uma vez no elemento <Namespace>
, no elemento <XMLPayload>
.
Por exemplo, esse erro ocorre porque o prefixo apigee
é definido duas vezes, conforme mostrado abaixo:
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
Diagnóstico
Identifique a política de variáveis de extração em que o erro ocorreu e o nome do prefixo. É possível encontrar os dois itens na mensagem de erro. Por exemplo, no erro a seguir, o nome da política é
EV-XML-Age
e o prefixo éapigee
:ExtractVariables EV-XML-Age: Duplicate prefix apigee.
No XML de política de extração de variáveis com falha, verifique se o nome do prefixo definido no elemento
<Namespace>
no elemento<XMLPayload>
corresponde ao nome do prefixo identificado na mensagem de erro (etapa 1 acima). Por exemplo, a política a seguir especifica um prefixo chamadoapigee
no elemento<Namespace>
, que corresponde ao que está na mensagem de erro:<?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>
Determine se o elemento
<Namespace>
com o prefixo específico, identificado na etapa 2, foi definido mais de uma vez. Se ela for definida mais de uma vez, essa é a causa do erro.No exemplo de política de extração de variáveis mostrado acima, observe que o elemento
<Namespace>
com o prefixoapigee
foi definido duas vezes; Portanto, você receberá o erro:ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Resolução
Verifique se há apenas uma definição para cada prefixo nos elementos <Namespace>
da política de variáveis de extração. Por exemplo:
<?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
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no xpaths to evaluate in variable name.
Exemplo de mensagem de erro
Error Saving Revision 4
ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
Captura de tela de exemplo
Causa
Se a política de variáveis de extração não tiver o elemento <XPath>
no elemento <XMLPayload>
, a implantação do proxy de API falhará com o erro mostrado acima.
Diagnóstico
Identifique a política de extração de variáveis com falha da mensagem de erro. Por exemplo, no erro a seguir, o nome da política é
Extract-Variables-1
.ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
No XML de política de extração de variáveis com falha, verifique se há um elemento
<XMLPayload>
sem o elemento filho<XPath>
. Em caso afirmativo, essa é a causa do erro.Por exemplo, veja uma política de variáveis de extração que tem um elemento
<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>
Como não há elemento
<XPath>
, a implantação do API Proxy falha.
Resolução
Verifique se a política de variáveis de extração tem um elemento <XPath>
definido no elemento <XMLPayload>
. Por exemplo:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
DisplayNameExtract V>ariable<s-1/Dis>playN<ame
Proper>ties/
< Source clea>rPayl<oad="false"request/Source
>VariableP<refixapigee>/Variable<Prefix
XMLPayload stopPayloadProcessing=>"false&q<uot;<>/span>
Name<spaces>/
< Variable> name<="Host>R<eachable" ty>p
e="boolean"
XPath/isReachable/XPath
/Variable
/XMLPayload
/ExtractVariables
EmptyXPathExpression
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: XPath expression is empty in variable name.
Exemplo de mensagem de erro
Error Saving Revision 6
ExtractVariables Extract-Variables-1: XPath expression is empty in variable name.
Captura de tela de exemplo
Causa
Se a política de variáveis de extração tiver uma expressão <XPath>
vazia no elemento <XMLPayload>
, a implantação do proxy de API falhará.
Diagnóstico
Identifique a política de extração de variáveis com falha da mensagem de erro. Por exemplo, no erro a seguir, o nome da política é
Extract-Variables-1
:ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
No XML da política de extração de variáveis com falha, determine se há um elemento
<XMLPayload>
com um elemento filho<XPath>
vazio. Em caso afirmativo, essa é a causa do erro.Por exemplo, veja uma política de variáveis de extração que tem um elemento
<XMLPayload>
:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t; DisplayNameExtract V>ariable<s-1/Dis>playN<ame Proper>ties/ < Source clea>rPayl<oad="false"request/Source >VariableP<refixapigee>/Variable<Prefix XMLPayload stopPayloadProc>essing="<false><"> <Namespace>s/ < Varia>b<le name="add>r
ess" type="string" XPath/XPath /Variable /XMLPayload /ExtractVariablesComo há um elemento
<XPath>
vazio no elemento<XMLPayload>
, a implantação do API Proxy falha.
Resolução
Verifique se a política de variáveis de extração tem um elemento <XPath>
não vazio e válido definido no elemento <XMLPayload>
. Por exemplo:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
DisplayNameExtract V>ariable<s-1/Dis>playN<ame
Proper>ties/
< Source clea>rPayl<oad="false"request/Source
>VariableP<refixapigee>/Variable<Prefix
XMLPayload stopPayloadProc>essing="<false>"
< > Namespac<es/
> Va<riable name>=<"address&quo>t
; type="string"
XPath/address/XPath
/Variable
/XMLPayload
/ExtractVariables
NoJSONPathsToEvaluate
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no jsonpaths to evaluate in variable name.
Exemplo de mensagem de erro
Error Saving Revision 6
ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
Captura de tela de exemplo
Causa
Se a política de variáveis de extração não tiver o elemento <JSONPath>
dentro do elemento <JSONPayload>
, a implantação do proxy de API falhará com o erro mostrado acima.
Diagnóstico
Identifique a política de extração de variáveis com falha da mensagem de erro. Por exemplo, no erro a seguir, o nome da política é
Extract-Variables-1
:ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
No XML da política de extração de variáveis com falha, determine se há um elemento
<JSONPayload>
sem o elemento filho<JSONPath>
necessário. Em caso afirmativo, essa é a causa do erro.Por exemplo, veja uma política de variáveis de extração que tem o elemento
<JSONPayload>
:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t; Disp>layNameEx<tract Variables-1/Dis>playName < Prope>rties</ JSONPa>yload< Variable name=&quo>t;title<"<>/span> < /Variable > /JS<ONPayload S>o<urce clearPayload>=
"false"request/Source VariablePrefixapigee/VariablePrefix /ExtractVariablesComo não há nenhum elemento filho
<JSONPath>
definido no elemento<JSONPayload>
, a implantação do API Proxy falha.
Resolução
Verifique se a política de variáveis de extração tem um elemento <JSONPath>
definido no elemento <JSONPayload>
. Por exemplo:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
Disp>layNameEx<tract Variables-1/Dis>playName
<Properti>es/
JSON<Payload
> Va<riable na>me=&q<uot;title&qu>ot;
< JSONPath$.book.t>itle/JS<ONPath<>/span>
< /Variable
> /JS<ONPayload
S>o<urce clearPayload>=
"false"request/Source
VariablePrefixapigee/VariablePrefix
/ExtractVariables
EmptyJSONPathExpression
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: JSONPath expression is empty in variable name.
Exemplo de mensagem de erro
Error Saving Revision 6
ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
Captura de tela de exemplo
Causa
Se a política de variáveis de extração tiver uma expressão <JSONPath>
vazia no elemento <JSONPayload>
, a implantação do proxy de API falhará.
Diagnóstico
Identifique a política de extração de variáveis com falha da mensagem de erro. Por exemplo, no erro a seguir, o nome da política é
Extract-Variables-1
:ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
No XML da política de extração de variáveis com falha, verifique se há um elemento
<JSONPayload>
com um elemento filho<JSONPath>
vazio. Em caso afirmativo, essa é a causa do erro.Por exemplo, veja uma política de variáveis de extração que tem um elemento
<JSONPayload>
:<ExtractVariables async="false" continueOnError="false" enabled="true&qu>ot; name=<"Extra>ct-Variables-1"<; Di>splayName<Extract Var>iables-1/<DisplayName> Prop<erties/ JSONPayload Varia>ble name="ac<count_nu><mber">; type="<integer&q>uot; < >JSONPath/<JSONPath /Varia>ble < /J>SONPayloa<d Sour>ce cle<arPayload=">;fals<e"request/So>u
rce VariablePrefixapigee/VariablePrefix /ExtractVariablesComo há um elemento
<JSONPath>
vazio no elemento<JSONPayload>
, a implantação do API Proxy falha.
Resolução
Verifique se a política de variáveis de extração tem um elemento <JSONPath>
não vazio e válido definido no elemento <JSONPayload>
. Por exemplo:
<ExtractVariables async="false" continueOnError="false" enabled="true&qu>ot; n<ame="E>xtract-Variables-1&<quot;
Di>splay<NameExtract> Vari<ables-1/Dis>playName
< Properties/
JSONPayload
Varia>ble name=&qu<ot;accou>nt_number" <type=&quo>t;integer<"
> < JSONPath>$.acc<ount.number/JSONPath
> /Vari<able
> /JS<ONPayload
>Source< clearPayload=&>q<uot;false"re>q
uest/Source
VariablePrefixapigee/VariablePrefix
/ExtractVariables
MissingName
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Saving Revision [revision_number] Error occurred while validation of bean [policy_name].xml Reason: - Required attribute name is missing in [element_name]
Exemplo de mensagem de erro
Error Saving Revision 6
Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
Captura de tela de exemplo
Causa
Se a política de variáveis de extração não tiver o atributo name
em nenhum dos elementos de política, como QueryParam
, Header
, FormParam
ou Variable
, quando necessário, a implantação de o proxy da API falhará.
Por exemplo, este erro ocorrerá se o atributo name
estiver ausente em um elemento Variable
.
Diagnóstico
Identifique o nome da política de variáveis de extração em que o erro ocorreu e o elemento no qual o atributo
name
está ausente. Você encontra esses itens na mensagem de erro. Por exemplo, no erro a seguir, o nome da política éExtract-Variables-1
e o nome do elemento éVariable
:Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
No XML da política de extração de variáveis com falha, verifique se todos os elementos com o nome determinado na etapa 1 acima têm um atributo
name
. Se houver algum elemento em que o atributo de nome esteja ausente, essa é a causa do erro.Por exemplo, a seguinte política de variáveis de extração tem o elemento
<Variable>
definido:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t; DisplayNameExtra>ct Variab<les-1/D>isplayName Pr<operties>/ < Variable> <type="boolea>n
" Pattern{isAccountActive}/Pattern /Variable /ExtractVariablesObserve que o atributo
name
está ausente no elementoVariable
, então a implantação do API Proxy falha.
Resolução
Verifique se a política de variáveis de extração contém o atributo name
obrigatório para os elementos QueryParam
, Header
, FormParam
ou Variable
. Por exemplo:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
DisplayNameExtract Variables-1/Display>Name
<Propert>ies/
Variable< name=&q>uot;a<ccount_ac>t<ive" type=&q>u
ot;boolean"
Pattern{isAccountActive}/Pattern
/Variable
/ExtractVariables
PatternWithoutVariable
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Saving Revision [revision_number] Pattern [pattern] should have at least one variable in ExtractVariables stepDefinition [policy_name]
Exemplo de mensagem de erro
Error Saving Revision 7
Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
Captura de tela de exemplo
Causa
Se a política de variáveis de extração não tiver uma variável especificada no elemento <Pattern>
, a implantação do proxy de API falhará. O elemento <Pattern>
requer o nome da variável em que os dados extraídos serão armazenados.
Diagnóstico
Identifique o nome da política de variáveis de extração em que o erro ocorreu e o padrão no qual a variável está ausente. Você pode encontrar esses itens na mensagem de erro. Por exemplo, no erro a seguir, o nome da política é
Extract-Variables-1
e o nome do elemento é/a/b
:Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
No XML da política de extração com falha, verifique se o padrão definido no elemento
<Pattern>
corresponde ao padrão identificado na mensagem de erro (etapa 1 acima). Por exemplo, a política a seguir especifica um padrão/a/b
, que corresponde ao que está na mensagem de erro:Por exemplo, veja uma política de variáveis de extração que tem três elementos
<Pattern>
:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVaria>bles< name=>"E<xtractV>aria<bles-1&>quot; < Sourcerequest/Source > URIPath < Patte>rn igno<reCase="true"/a>/{pat<hSeg}/Pa>ttern < Pattern ignoreCase=&>quot;true"/<a/b//Pat>tern< P>atte<rn ignoreCase=>"true<"/a/b/c/{p>a<thSeg}/Pattern >
/URIPath VariablePrefixurirequest/VariablePrefix /ExtractVariablesVerifique se o elemento
<Pattern>
identificado na etapa 2 não tem uma variável. As variáveis precisam ser colocadas entre chaves. Se o padrão não tiver uma variável, essa é a causa do erro.O elemento
<Pattern>
que tem o padrão /a/b não inclui uma variável. Portanto, a implantação do proxy da API falha<Pattern ignoreCase=">true&<quot;/a/>b/
/Pattern
Resolução
Garanta que todos os elementos <Pattern>
incluam uma variável (um nome entre
chaves). Por exemplo:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVaria>bles< name=>"E<xtractV>aria<bles-1&>quot;
< Sourcerequest/Source
> URIPath
< Patte>rn igno<reCase="true"/a>/{pathSeg}/Pat<tern
> Patt<ern ignoreCase="true>"/a/b/{path<Seg}/Pat>tern<
P>atte<rn ignoreCase=>"true<"/a/b/c/{p>a<thSeg}/Pattern
>
/URIPath
VariablePrefixurirequest/VariablePrefix
/ExtractVariables
CannotBeConvertedToNodeset
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
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].
Exemplo de mensagem de erro
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.
Captura de tela de exemplo
Causa
Se a política de variáveis de extração tiver uma expressão <XPath>
em que o tipo <Variable>
é definido como nodeset, mas a expressão não puder ser convertida em nodeset, a implantação do proxy de API falhará.
Diagnóstico
Identifique a política de extração de variáveis em que o erro ocorreu e o XPath que não pode ser convertido para o conjunto de nós. É possível encontrar os dois itens na mensagem de erro. Por exemplo, no erro a seguir , o nome da política é
Extract-Variables-1
e o 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.
No XML da política de extração com falha, verifique se o XPath definido no elemento
<XPath>
corresponde ao XPath identificado na mensagem de erro (etapa 1 acima). Por exemplo, a política a seguir especifica ocomo 123
, que corresponde ao que está na mensagem de erro:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t; DisplayNameExtract V>ariable<s-1/Dis>playN<ame Proper>ties/ < Source clear>Paylo<ad="false"request/Source V>ariablePr<efixvisitor>/Variable<Prefix XMLPayload stopPayloadP>rocessing=&qu<ot;fa>lse<"> <Namespace>s/ < Varia>b<le name="age>&
quot; type="nodeset" XPath123/XPath /Variable /XMLPayload /ExtractVariablesExamine o tipo do elemento
<Variable>
correspondente ao<XPath>
identificado na etapa 2 acima. Se o tipo<Variable>
fornodeset
, essa é a causa do erro.A expressão
<XPath>
é123
no exemplo da política de variáveis de extração.<XPath>123</XPath>
A expressão
123
não pode ser convertida em nodeset. Portanto, a implantação do proxy de API falha.
Resolução
As expressões <XPath>
usadas na política de variáveis de extração podem ser convertidas em nodeset se o tipo <Variable>
estiver definido como nodeset. Por exemplo:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
DisplayNameExtract V>ariable<s-1/Dis>playN<ame
Proper>ties/
< Source clear>Paylo<ad="false"request/Source
V>ariablePr<efixvisitor>/Variable<Prefix
XMLPayload stopPayloadP>rocessing=&qu<ot;fa>lse"
< >Namespace<s/
> Var<iable name=>&<quot;age" ty>p
e="nodeset"
XPath/visitor/age/XPath
/Variable
/XMLPayload
/ExtractVariables
InvalidPattern
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Deploying Revision [revision_number]
Pattern [pattern] is invalid in ExtractVariables stepDefinition [policy_name]
Exemplo de mensagem de erro
Error Deploying Revision 18 to test
Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
Captura de tela de exemplo
Causa
Se a definição do elemento <Pattern>
for inválida em qualquer um dos elementos como URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
ou JSONPayload
na política de extração de variáveis, a implantação do proxy de API falhará.
Diagnóstico
Identifique a política com falha de variáveis de extração na mensagem de erro. Por exemplo, no erro a seguir, o nome da política é
Extract-Variables-2
:Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
No XML da política de extração de variáveis com falha, verifique se algum destes elementos está presente e inclua um elemento
<Pattern>
:URIPath
,QueryParam
,Header
,FormParam
,XMLPayload
ouJSONPayload
.Por exemplo, veja um exemplo de política de extração de variáveis com um elemento
<Pattern>
dentro do elemento<QueryParam>
:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVaria>bles <name=">ExtractVariables-2<" D>ispla<yNameE>xtractV<ariable>s-2/D<isplayName Sourcer>equest/So<urce QueryParam name=>&qu<ot;code&>quot;< Pa>ttern< ignoreCase=&q>uot;true&<quot;{*}/Patter>n< /QueryParam >
VariablePrefixqueryinfo/VariablePrefix /ExtractVariablesExamine a definição de cada um dos elementos
<Pattern>
. Se houver algum elemento<Pattern>
com uma definição inválida, essa é a causa do erro.No exemplo de política de extração de variáveis mostrado acima, observe que a definição
<Pattern>
no elemento<QueryParam>
é inválida. Portanto, a implantação do proxy da API falha. Consulte também Sobre a correspondência e a criação de variáveis.<Pattern ignoreCase=">tru<e"{>*}
/Pattern
Resolução
A definição do elemento <Pattern>
nos elementos URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
ou JSONPayload
na política de extração de variáveis é válida. Exemplo:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVaria>bles <name=">ExtractVariables-2"
DisplayNa<meExtract a >value< from >a query< parame>ter/D<isplayName
Sourcer>equest/So<urce
QueryParam name=>"<code&quo>t;
< Patte>rn ig<noreCase=">;true&quo<t;{code}/Patter>n<
/QueryParam
>
VariablePrefixqueryinfo/VariablePrefix
/ExtractVariables
Consulte também Sobre a correspondência e a criação de variáveis
XPathCompilationFailed
Mensagem de erro
Falha na implantação do proxy de API pela interface do Edge ou pela API Edge Management por esta mensagem de erro:
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].
Exemplo de mensagem de erro
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.
Captura de tela de exemplo
Causa
Se o prefixo ou o valor usado no elemento <XPath>
não fizer parte de nenhum dos namespaces declarados na política de extração de variáveis, a implantação do proxy de API falhará.
Veja mais informações sobre namespaces, XPath e prefixo em Namespaces XML e como eles afetam o XPath e o GQL.
Diagnóstico
Identifique a política de variáveis de extração em que o erro ocorreu e o caminho que não pôde ser compilado. É possível encontrar os dois itens na mensagem de erro. Por exemplo, no erro a seguir , o nome da política é
EV-XML-Age
e o 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.
No XML da política de extração com falha, verifique se o XPath definido no elemento
<XPath>
corresponde ao XPath identificado na mensagem de erro (etapa 1 acima). Por exemplo, a política a seguir especifica ocomo /apigee:Directions/apigee:route/apigee:leg/apigee:name
, que corresponde ao que está na mensagem de erro:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVariables async="false" continueOnError=>&qu<ot;false&qu>ot; enable<d="true>&qu<ot; name="EV-XML-Age&q>uot; <Display>Nam<eEV-XML-Age/DisplayName Source clearPa>yload<="fal>se"r<equest/Source XMLPaylo>ad stopPayloadProcessi<ng="f>alse&<quot; N>amesp<aces Namespace prefix="g>mail&<quot;>http://mail.google.com/Namespace /Namespaces V<ariabl>e name=&q<uot;legNa>me&<quot; type=>&<quot;string">
XPath/apigee:Directions/apigee:route/apigee:leg/apigee:name/XPath /Variable /XMLPayload /ExtractVariablesAnalise os elementos
<Namespaces>
e<XPath>
na política de extração de variáveis. Se o<XPath>
específico indicado na mensagem de erro usar um prefixo ou valor que não faz parte dos namespaces declarados na política de extração de variáveis, essa é a causa do erro.Observe que a
<XPath>
específica usa o prefixoapigee
na política de exemplo de variáveis de extração.<XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>
No entanto, o prefixo
apigee
não está definido em nenhum dos elementos<Namespace>
; Portanto, a compilação de<XPath>
falha devido a uma falha de implantação.
Resolução
Verifique se todos os namespaces usados nos elementos <XPath>
estão declarados na política de variáveis de extração. Por exemplo:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError=>&qu<ot;false&qu>ot; enable<d="true>&qu<ot; name="EV-XML-Age&q>uot;
<Display>Nam<eEV-XML-Age/DisplayName
Source clearPa>yload<="fal>se"r<equest/Source
XMLPayloa>d stopPayloadProcessi<ng="f>alse"<;
Namespaces
> Namespace prefix=&quo<t;apigee&q>uot;h<ttp://www.a>pigee<.com/Namespace
Namespace pref>ix="<gmail>"http://mail.google.com/Namespace
/Namespaces<
V>ariab<le name=&>quo<t;legName&q>u<ot; type="st>r
ing"
XPath/apigee:Directions/apigee:route/apigee:leg/apigee:name/XPath
/Variable
/XMLPayload
/ExtractVariables