Está a ver a documentação do Apigee e do Apigee Hybrid.
Ver documentação do
Apigee Edge.
NothingToExtract
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee 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].
Mensagem de erro de exemplo
Error Saving Revision 2
ExtractVariables EV-XML-Age: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
Captura de ecrã de exemplo

Causa
Se a política Extract Variables não tiver nenhum dos elementos URIPath, QueryParam, Header, FormParam, XMLPayload ou JSONPayload, a implementação do proxy de API falha, porque não existe nada para extrair.
Conforme indicado na mensagem de erro, a política Extract Variables tem de ter, pelo menos, um destes elementos incluídos na política: URIPath, QueryParam, Header, FormParam, XMLPayload ou JSONPayload.
Diagnóstico
Examine a política Extract Variables (Extrair variáveis) mencionada na mensagem de erro. Se a política não tiver, pelo menos, um dos seguintes elementos: URIPath, QueryParam, Header, FormParam, XMLPayload ou JSONPayload, essa é a causa do erro. Por exemplo, a seguinte política Extract Variables 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>
Uma vez que nenhum dos elementos obrigatórios está presente na política Extract Variables, a implementação do proxy de API falha.
Resolução
Certifique-se de que a política Extract Variables tem, pelo menos, um destes elementos obrigatórios: URIPath, QueryParam, Header, FormParam, XMLPayload e 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 implementação do proxy de API através da IU ou da API Apigee 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.
Mensagem de erro de exemplo
Error Saving Revision 3
ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Captura de ecrã de exemplo

Causa
Este erro ocorre se a política Extract Variables tiver um prefixo definido no elemento <Namespace> no elemento <XMLPayload>, mas não estiver definido nenhum URI.
Diagnóstico
Identifique a política Extract Variables onde ocorreu o erro e o nome do prefixo. Pode encontrar ambos os itens na mensagem de erro. Por exemplo, no seguinte erro , o nome da política é
EV-XML-Agee o prefixo éapigee:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.No XML da política Extract Variables 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 (passo n.º 1 acima). Por exemplo, a política seguinte especifica um prefixo denominadoapigeeno 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 no passo n.º 2 tem um URI válido. Se o URI estiver em falta, essa é a causa do erro.No exemplo da política Extract Variables apresentado acima, repare que não existe nenhum URI correspondente ao elemento
<Namespace>com o prefixoapigee. Por conseguinte, recebe o seguinte erro:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Resolução
Certifique-se de que todos os elementos <Namespace> definidos com um prefixo têm um URI correspondente na política Extrair variáveis. 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 implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Duplicate prefix [prefix_name].
Mensagem de erro de exemplo
Error Saving Revision 2
ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Captura de ecrã de exemplo

Causa
Este erro ocorre se a política Extract Variables tiver o mesmo prefixo definido mais do que uma vez no elemento <Namespace> no elemento <XMLPayload>.
Por exemplo, este erro ocorre porque o prefixo apigee está 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 Extract Variables onde ocorreu o erro e o nome do prefixo. Pode encontrar ambos os itens na mensagem de erro. Por exemplo, no seguinte erro, o nome da política é
EV-XML-Agee o prefixo éapigee:ExtractVariables EV-XML-Age: Duplicate prefix apigee.No XML da política Extract Variables 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 (passo n.º 1 acima). Por exemplo, a política seguinte especifica um prefixo denominadoapigeeno 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 no passo n.º 2, foi definido mais do que uma vez. Se estiver definido mais do que uma vez, essa é a causa do erro.No exemplo da política Extract Variables apresentado acima, repare que o elemento
<Namespace>com o prefixoapigeefoi definido duas vezes. Por conseguinte, recebe o seguinte erro:ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Resolução
Certifique-se de que existe apenas uma definição para cada prefixo nos elementos <Namespace> na política Extrair variáveis. 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 implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no xpaths to evaluate in variable name.
Mensagem de erro de exemplo
Error Saving Revision 4
ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
Captura de ecrã de exemplo

Causa
Se a política Extract Variables não tiver o elemento <XPath> no elemento <XMLPayload>, a implementação do proxy de API falha com o erro apresentado acima.
Diagnóstico
Identifique a política Extract Variables com falha na mensagem de erro. Por exemplo, no seguinte erro, o nome da política é
Extract-Variables-1:ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.No XML da política Extract Variables com falha, verifique se existe um elemento
<XMLPayload>sem o elemento secundário<XPath>. Se for o caso, essa é a causa do erro.Por exemplo, segue-se uma política Extract Variables 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>Uma vez que não existe nenhum elemento
<XPath>, a implementação do proxy de API falha.
Resolução
Certifique-se de que a política Extract Variables tem um elemento <XPath> definido no elemento <XMLPayload>. Por exemplo:
<?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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: XPath expression is empty in variable name.
Mensagem de erro de exemplo
Error Saving Revision 6
ExtractVariables Extract-Variables-1: XPath expression is empty in variable name.
Captura de ecrã de exemplo

Causa
Se a política Extract Variables tiver uma expressão <XPath> vazia no elemento <XMLPayload>, a implementação do proxy de API falha.
Diagnóstico
Identifique a política Extract Variables com falha na mensagem de erro. Por exemplo, no seguinte erro, o nome da política é
Extract-Variables-1:ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.No XML da política Extract Variables com falha, determine se existe um elemento
<XMLPayload>com um elemento secundário<XPath>vazio. Se for o caso, essa é a causa do erro.Por exemplo, segue-se uma política Extract Variables 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="address" type="string"> <XPath></XPath> </Variable> </XMLPayload> </ExtractVariables>Uma vez que existe um elemento
<XPath>vazio no elemento<XMLPayload>, a implementação do proxy de API falha.
Resolução
Certifique-se de que a política Extract Variables tem um elemento <XPath> não vazio e válido definido no elemento <XMLPayload>. Por exemplo:
<?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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no jsonpaths to evaluate in variable name.
Mensagem de erro de exemplo
Error Saving Revision 6
ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
Captura de ecrã de exemplo

Causa
Se a política Extract Variables não tiver o elemento <JSONPath> no elemento <JSONPayload>, a implementação do proxy de API falha com o erro apresentado acima.
Diagnóstico
Identifique a política Extract Variables com falha na mensagem de erro. Por exemplo, no seguinte erro, o nome da política é
Extract-Variables-1:ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.No XML da política Extract Variables com falha, determine se existe um elemento
<JSONPayload>sem o elemento secundário<JSONPath>obrigatório. Se for o caso, essa é a causa do erro.Por exemplo, segue-se uma política Extract Variables que tem o elemento
<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>Uma vez que não existe um elemento subordinado
<JSONPath>definido no elemento<JSONPayload>, a implementação do proxy de API falha.
Resolução
Certifique-se de que a política Extract Variables tem um elemento <JSONPath> definido no elemento <JSONPayload>. Por exemplo:
<?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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: JSONPath expression is empty in variable name.
Mensagem de erro de exemplo
Error Saving Revision 6
ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
Captura de ecrã de exemplo

Causa
Se a política Extract Variables tiver uma expressão <JSONPath> vazia no elemento <JSONPayload>, a implementação do proxy de API falha.
Diagnóstico
Identifique a política Extract Variables com falha na mensagem de erro. Por exemplo, no seguinte erro, o nome da política é
Extract-Variables-1:ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.No XML da política Extract Variables com falha, verifique se existe um elemento
<JSONPayload>com um elemento secundário<JSONPath>vazio. Se for o caso, essa é a causa do erro.Por exemplo, segue-se uma política Extract Variables que tem um elemento
<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>Uma vez que existe um elemento
<JSONPath>vazio no elemento<JSONPayload>, a implementação do proxy de API falha.
Resolução
Certifique-se de que a política Extract Variables tem um elemento <JSONPath> não vazio e válido definido no elemento <JSONPayload>. Por exemplo:
<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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee 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]
Mensagem de erro de exemplo
Error Saving Revision 6
Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
Captura de ecrã de exemplo

Causa
Se a política Extract Variables não tiver o atributo name em nenhum dos elementos da política, como QueryParam, Header, FormParam ou Variable, onde é necessário, a implementação do proxy de API falha.
Por exemplo, este erro ocorre se o atributo name estiver em falta num elemento Variable.
Diagnóstico
Identifique o nome da política Extract Variables onde ocorreu o erro e o elemento onde o atributo
nameestá em falta. Pode encontrar estes itens na mensagem de erro. Por exemplo, no seguinte erro, o nome da política éExtract-Variables-1e o nome do elemento éVariable:Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in VariableNo XML da política Extract Variables com falha, verifique se todos os elementos com o nome determinado no passo n.º 1 acima têm um atributo
name. Se existir algum elemento em que o atributo name esteja em falta, essa é a causa do erro.Por exemplo, a seguinte política Extract Variables tem o elemento
<Variable>definido:<?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>Repare que o atributo
nameestá em falta no elementoVariable, pelo que a implementação do proxy de API falha.
Resolução
Certifique-se de que a política Extract Variables contém o atributo name necessário para os elementos QueryParam, Header, FormParam ou Variable. Por exemplo:
<?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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision_number] Pattern [pattern] should have at least one variable in ExtractVariables stepDefinition [policy_name]
Mensagem de erro de exemplo
Error Saving Revision 7
Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
Captura de ecrã de exemplo

Causa
Se a política Extract Variables não tiver uma variável especificada no elemento <Pattern>, a implementação do proxy de API falha. O elemento <Pattern> requer o nome da variável na qual os dados extraídos vão ser armazenados.
Diagnóstico
Identifique o nome da política Extract Variables onde ocorreu o erro e o padrão para o qual a variável está em falta. Pode encontrar estes itens na mensagem de erro. Por exemplo, no seguinte erro, o nome da política é
Extract-Variables-1e 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 Extract Variables com falha, verifique se o padrão definido no elemento
<Pattern>corresponde ao padrão identificado na mensagem de erro (passo n.º 1 acima). Por exemplo, a seguinte política especifica um padrão/a/b, que corresponde ao que está na mensagem de erro:Por exemplo, segue-se uma política de extração de variáveis que tem três elementos
<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>Verifique se o elemento
<Pattern>identificado no passo n.º 2 não tem uma variável. As variáveis têm de estar entre chavetas. Se o padrão não tiver uma variável, então essa é a causa do erro.O elemento
<Pattern>com o padrão /a/b não inclui uma variável. Por conseguinte, a implementação do proxy de API falha<Pattern ignoreCase="true">/a/b/</Pattern>
Resolução
Certifique-se de que todos os elementos <Pattern> incluem uma variável (um nome entre chavetas). Por exemplo:
<?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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee 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].
Mensagem de erro de exemplo
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 ecrã de exemplo

Causa
Se a política Extract Variables tiver uma expressão <XPath> em que o tipo <Variable> esteja definido como nodeset, mas a expressão não puder ser convertida em nodeset, a implementação do proxy de API falha.
Diagnóstico
Identifique a política Extract Variables onde ocorreu o erro e o XPath que não pode ser convertido em nodeset. Pode encontrar ambos os itens na mensagem de erro. Por exemplo, no seguinte erro , o nome da política é
Extract-Variables-1e 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 Extract Variables com falha, verifique se o XPath definido no elemento
<XPath>corresponde ao XPath identificado na mensagem de erro (passo n.º 1 acima). Por exemplo, a seguinte política especifica ocomo 123, o 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="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>Examine o tipo do elemento
<Variable>correspondente ao<XPath>identificado no passo n.º 2 acima. Se o tipo<Variable>fornodeset, essa é a causa do erro.Tenha em atenção que a expressão
<XPath>é123no exemplo da política Extract Variables.<XPath>123</XPath>Não é possível converter a expressão
123num conjunto de nós. Assim, a implementação do proxy de API falha.
Resolução
Certifique-se de que as expressões <XPath> usadas na política Extract Variables podem ser convertidas em nodeset se o tipo <Variable> for definido como nodeset. Por exemplo:
<?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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Deploying Revision [revision_number]
Pattern [pattern] is invalid in ExtractVariables stepDefinition [policy_name]
Mensagem de erro de exemplo
Error Deploying Revision 18 to test
Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
Captura de ecrã 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 Extract Variables, a implementação do proxy de API falha.
Diagnóstico
Identifique a política Extract Variables com falhas na mensagem de erro. Por exemplo, no seguinte erro, o nome da política é
Extract-Variables-2:Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.No XML da política Extract Variables com falha, verifique se algum destes elementos está presente e inclua um elemento
<Pattern>:URIPath,QueryParam,Header,FormParam,XMLPayloadouJSONPayload.Por exemplo, segue-se uma política Extract Variables com um elemento
<Pattern>dentro de um elemento<QueryParam>:<?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>Examine a definição de cada um dos elementos
<Pattern>. Se existir algum elemento<Pattern>com uma definição inválida, essa é a causa do erro.No exemplo da política Extract Variables apresentado acima, repare que a definição
<Pattern>no elemento<QueryParam>é inválida. Por conseguinte, a implementação do proxy de API falha. Veja também Acerca da correspondência e da criação de variáveis<Pattern ignoreCase="true">{*}</Pattern>
Resolução
Certifique-se de que 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. Por exemplo:
<?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>
Veja também Acerca da correspondência e da criação de variáveis
XPathCompilationFailed
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com 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].
Mensagem de erro de exemplo
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 ecrã de exemplo

Causa
Se o prefixo ou o valor usado no elemento <XPath> não fizer parte de nenhum dos espaços de nomes declarados na política Extract Variables, a implementação do proxy de API falha.
Pode encontrar mais informações sobre espaços de nomes, XPath e prefixos em XML Namespaces and How They Affect XPath and XSLT.
Diagnóstico
Identifique a política Extract Variables onde ocorreu o erro e o XPath que não foi possível compilar. Pode encontrar ambos os itens na mensagem de erro. Por exemplo, no seguinte erro , o nome da política é
EV-XML-Agee 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 Extract Variables com falha, verifique se o XPath definido no elemento
<XPath>corresponde ao XPath identificado na mensagem de erro (passo n.º 1 acima). Por exemplo, a seguinte política especifica ocomo /apigee:Directions/apigee:route/apigee:leg/apigee:name, o 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> </Namespaces> <Variable name="legName" type="string"> <XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath> </Variable> </XMLPayload> </ExtractVariables>Examine os elementos
<Namespaces>e<XPath>na política Extrair variáveis. Se o<XPath>específico indicado na mensagem de erro usar um prefixo ou um valor que não faça parte dos espaços de nomes declarados na política Extract Variables, essa é a causa do erro.Tenha em atenção que o
<XPath>específico usa o prefixoapigeeno exemplo da política Extrair variáveis.<XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>No entanto, o prefixo
apigeenão está definido em nenhum dos elementos<Namespace>. Por conseguinte, a compilação de<XPath>falha, o que leva a uma falha na implementação.
Resolução
Certifique-se de que todos os espaços de nomes que estão a ser usados nos elementos <XPath> são declarados na política Extract Variables. 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>