<ph type="x-smartling-placeholder"></ph>
Vous consultez la documentation Apigee Edge.
Accédez à la page
Documentation sur Apigee X. En savoir plus
NothingToExtract
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
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].
Exemple de message d'erreur
Error Saving Revision 2
ExtractVariables EV-XML-Age: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
Exemple de capture d'écran
Cause
Si la règle d'extraction de variables ExtractVariables ne comporte aucun des éléments URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
ou JSONPayload
, le déploiement du proxy d'API échoue, car il n'y a rien à extraire.
Comme indiqué dans le message d'erreur, la règle d'extraction de variables ExtractVariables doit inclure au moins l'un des éléments suivants dans la règle : URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
ou JSONPayload
.
Diagnostic
Examinez la règle d'extraction de variables ExtractVariables nommée dans le message d'erreur. Si la règle ne comporte pas l'un des éléments suivants : URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
ou JSONPayload
, cela est la cause de l'erreur. Par exemple, la règle d'extraction de variables ExtractVariables suivante ne comporte aucun des éléments mentionnés ci-dessus :
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
<DisplayName>EV-XML-Age</DisplayName>
<Properties/>
</ExtractVariables>
Comme aucun des éléments obligatoires n'est présent dans la règle d'extraction de variables ExtractVariables, le déploiement du proxy d'API échoue.
Solution
Vérifiez que la règle d'extraction de variables ExtractVariables comporte au moins l'un des éléments obligatoires suivants : URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
, JSONPayload
. Exemple :
<?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
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Non-empty prefix [prefix_name] cannot be mapped to empty uri.
Exemple de message d'erreur
Error Saving Revision 3
ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Exemple de capture d'écran
Cause
Cette erreur se produit si la règle d'extraction de variables ExtractVariables comporte un préfixe défini dans l'élément <Namespace>
sous l'élément <XMLPayload>
, mais qu'aucun URI n'est défini.
Diagnostic
Identifiez la règle d'extraction de variables ExtractVariables où l'erreur s'est produite, ainsi que le nom du préfixe. Ces deux éléments se trouvent dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle est
EV-XML-Age
et le préfixe estapigee
:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Dans le XML de la règle d'extraction de variables ExtractVariables, vérifiez que le nom du préfixe défini dans l'élément
<Namespace>
sous l'élément<XMLPayload>
correspond au nom de préfixe identifié dans le message d'erreur (étape 1 ci-dessus). Par exemple, la règle suivante spécifie un préfixe nomméapigee
dans l'élément<Namespace>
, qui correspond au contenu du message d'erreur :<?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>
Validez si l'élément
<Namespace>
avec le préfixe spécifique identifié à l'étape 2 possède un URI valide. Si l'URI est manquant, il s'agit de la cause de l'erreur.Dans l'exemple de règle d'extraction de variables ExtractVariables présenté ci-dessus, notez qu'aucun URI ne correspond à l'élément
<Namespace>
portant le préfixeapigee
. Vous obtenez donc l'erreur suivante :ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Solution
Assurez-vous que tous les éléments <Namespace>
définis avec un préfixe ont un URI correspondant dans la règle d'extraction de variables ExtractVariables. Exemple :
<?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
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Duplicate prefix [prefix_name].
Exemple de message d'erreur
Error Saving Revision 2
ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Exemple de capture d'écran
Cause
Cette erreur se produit si la règle d'extraction de variables ExtractVariables comporte le même préfixe défini plus d'une fois dans l'élément <Namespace>
sous l'élément <XMLPayload>
.
Par exemple, cette erreur se produit lorsque le préfixe apigee
est défini deux fois, comme indiqué ci-dessous :
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
Diagnostic
Identifiez la règle d'extraction de variables ExtractVariables où l'erreur s'est produite, ainsi que le nom du préfixe. Ces deux éléments se trouvent dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle est
EV-XML-Age
et le préfixe estapigee
:ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Dans le XML de la règle d'extraction de variables ExtractVariables, vérifiez que le nom du préfixe défini dans l'élément
<Namespace>
sous l'élément<XMLPayload>
correspond au nom de préfixe identifié dans le message d'erreur (étape 1 ci-dessus). Par exemple, la règle suivante spécifie un préfixe nomméapigee
dans l'élément<Namespace>
, qui correspond au contenu du message d'erreur :<?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>
Déterminez si l'élément
<Namespace>
avec le préfixe spécifique, identifié à l'étape 2, a été défini plus d'une fois. S'il est défini plus d'une fois, alors il s'agit de la cause de l'erreur.Dans l'exemple de règle d'extraction de variables ExtractVariables présenté ci-dessus, notez que l'élément
<Namespace>
portant le préfixeapigee
a été défini deux fois. Par conséquent, vous obtenez l'erreur suivante :ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Solution
Vérifiez qu'il n'y a qu'une définition pour chaque préfixe dans les éléments <Namespace>
de la règle d'extraction de variables ExtractVariables. Exemple :
<?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
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no xpaths to evaluate in variable name.
Exemple de message d'erreur
Error Saving Revision 4
ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
Exemple de capture d'écran
Cause
Si la règle d'extraction de variables ExtractVariables ne dispose pas de l'élément <XPath>
dans l'élément <XMLPayload>
, le déploiement du proxy d'API échoue avec l'erreur ci-dessus.
Diagnostic
Identifiez la règle d'extraction de variables ExtractVariables ayant échoué à partir du message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle est
Extract-Variables-1
:ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
Dans le XML de la règle d'extraction de variables ExtractVariables ayant échoué, vérifiez s'il existe un élément
<XMLPayload>
sans l'élément enfant<XPath>
. Si c'est le cas, alors il s'agit de la cause de l'erreur.Par exemple, voici une règle d'extraction de variables ExtractVariables contenant un élément
<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>
Comme aucun élément
<XPath>
n'est présent, le déploiement du proxy d'API échoue.
Solution
Vérifiez que la règle d'extraction de variables ExtractVariables possède un élément <XPath>
défini sous l'élément <XMLPayload>
. Exemple :
<?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
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: XPath expression is empty in variable name.
Exemple de message d'erreur
Error Saving Revision 6
ExtractVariables Extract-Variables-1: XPath expression is empty in variable name.
Exemple de capture d'écran
Cause
Si la règle d'extraction de variables ExtractVariables comporte une expression <XPath>
vide dans l'élément <XMLPayload>
, le déploiement du proxy d'API échoue.
Diagnostic
Identifiez la règle d'extraction de variables ExtractVariables ayant échoué à partir du message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle est
Extract-Variables-1
:ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
Dans le XML de la règle d'extraction de variables ExtractVariables ayant échoué, déterminez s'il existe un élément
<XMLPayload>
avec un élément enfant<XPath>
vide. Si c'est le cas, alors il s'agit de la cause de l'erreur.Par exemple, voici une règle d'extraction de variables ExtractVariables contenant un élément
<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>
Comme un élément
<XPath>
est vide dans l'élément<XMLPayload>
, le déploiement du proxy d'API échoue.
Solution
Vérifiez que la règle d'extraction de variables ExtractVariables possède un élément <XPath>
non vide et valide défini sous l'élément <XMLPayload>
. Exemple :
<?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
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no jsonpaths to evaluate in variable name.
Exemple de message d'erreur
Error Saving Revision 6
ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
Exemple de capture d'écran
Cause
Si la règle d'extraction de variables ExtractVariables ne dispose pas de l'élément <JSONPath>
dans l'élément <JSONPayload>
, le déploiement du proxy d'API échoue avec l'erreur ci-dessus.
Diagnostic
Identifiez la règle d'extraction de variables ExtractVariables ayant échoué à partir du message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle est
Extract-Variables-1
:ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
Dans le XML de la règle d'extraction de variables ExtractVariables ayant échoué, déterminez s'il existe un élément
<JSONPayload>
sans l'élément enfant<JSONPath>
requis. Si c'est le cas, alors il s'agit de la cause de l'erreur.Par exemple, voici une règle d'extraction de variables ExtractVariables contenant un élément
<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>
Comme aucun élément enfant
<JSONPath>
n'est défini sous l'élément<JSONPayload>
, le déploiement du proxy d'API échoue.
Solution
Vérifiez que la règle d'extraction de variables ExtractVariables possède un élément <JSONPath>
défini sous l'élément <JSONPayload>
. Exemple :
<?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
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: JSONPath expression is empty in variable name.
Exemple de message d'erreur
Error Saving Revision 6
ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
Exemple de capture d'écran
Cause
Si la règle d'extraction de variables ExtractVariables comporte une expression <JSONPath>
vide dans l'élément <JSONPayload>
, le déploiement du proxy d'API échoue.
Diagnostic
Identifiez la règle d'extraction de variables ExtractVariables ayant échoué à partir du message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle est
Extract-Variables-1
:ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
Dans le XML de la règle d'extraction de variables ExtractVariables ayant échoué, vérifiez s'il existe un élément
<JSONPayload>
avec un élément enfant<JSONPath>
vide. Si c'est le cas, alors il s'agit de la cause de l'erreur.Par exemple, voici une règle d'extraction de variables ExtractVariables contenant un élément
<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>
Comme un élément
<JSONPath>
est vide dans l'élément<JSONPayload>
, le déploiement du proxy d'API échoue.
Solution
Vérifiez que la règle d'extraction de variables ExtractVariables possède un élément <JSONPath>
non vide et valide défini sous l'élément <JSONPayload>
. Exemple :
<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
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision [revision_number] Error occurred while validation of bean [policy_name].xml Reason: - Required attribute name is missing in [element_name]
Exemple de message d'erreur
Error Saving Revision 6
Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
Exemple de capture d'écran
Cause
Si la règle d'extraction de variables ExtractVariables n'a pas d'attribut name
dans les éléments de règle tels que QueryParam
, Header
, FormParam
ou Variable
(le cas échéant), le déploiement du proxy d'API échoue.
Par exemple, cette erreur se produit si l'attribut name
est manquant dans un élément Variable
.
Diagnostic
Identifiez le nom de la règle d'extraction de variables ExtractVariables où l'erreur s'est produite, ainsi que l'élément pour lequel l'attribut
name
est manquant. Ces éléments figurent dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle estExtract-Variables-1
et le nom de l'élément estVariable
:Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
Dans le XML de la règle d'extraction de variables ExtractVariables ayant échoué, vérifiez que tous les éléments dont le nom est déterminé à l'étape 1 ci-dessus possèdent un attribut
name
. Si un attribut de nom est manquant dans l'un des éléments, il s'agit de la cause de l'erreur.Par exemple, l'élément
<Variable>
est défini dans la règle d'extraction de variables ExtractVariables suivante :<?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>
Notez que l'attribut
name
est manquant dans l'élémentVariable
. Par conséquent, le déploiement du proxy d'API échoue.
Solution
Vérifiez que la règle d'extraction de variables ExtractVariables contient l'attribut name
requis pour les éléments QueryParam
, Header
, FormParam
ou Variable
. Exemple :
<?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
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision [revision_number] Pattern [pattern] should have at least one variable in ExtractVariables stepDefinition [policy_name]
Exemple de message d'erreur
Error Saving Revision 7
Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
Exemple de capture d'écran
Cause
Si la règle Extraire les variables ne comporte pas de variable spécifiée dans l'élément <Pattern>
, le déploiement du proxy d'API échoue. L'élément <Pattern>
requiert le nom de la variable dans laquelle les données extraites seront stockées.
Diagnostic
Identifiez le nom de la règle Extraire les variables où l'erreur s'est produite et le modèle pour lequel la variable est manquante. Ces données figurent dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom de la stratégie est
Extract-Variables-1
et le nom de l'élément/a/b
:Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
Dans le XML de la règle d'extraction de variables ExtractVariables ayant échoué, vérifiez que le modèle défini dans l'élément
<Pattern>
correspond au modèle identifié dans le message d'erreur (étape 1 ci-dessus). Par exemple, la règle suivante spécifie un modèle/a/b
qui correspond au contenu du message d'erreur :Par exemple, voici une règle d'extraction de variables ExtractVariables comportant trois éléments
<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>
Vérifiez que l'élément
<Pattern>
identifié à l'étape 2 ne contient pas de variable. Les variables doivent être placées entre accolades. Si le modèle n'a pas de variable, il s'agit de la cause de l'erreur.L'élément
<Pattern>
ayant le modèle /a/b n'inclut pas de variable. Par conséquent, le déploiement du proxy d'API échoue.<Pattern ignoreCase="true">/a/b/</Pattern>
Solution
Vérifiez que tous les éléments <Pattern>
incluent une variable (un nom placé entre accolades). Exemple :
<?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
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
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].
Exemple de message d'erreur
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.
Exemple de capture d'écran
Cause
Si la règle d'extraction de variables ExtractVariables contient une expression <XPath>
où le type <Variable>
est défini sur nodeset, mais que l'expression ne peut pas être convertie en ensemble de nœuds, le déploiement du proxy d'API échoue.
Diagnostic
Identifiez la règle d'extraction de variables ExtractVariables où l'erreur s'est produite et le chemin XPath ne pouvant pas être converti en ensemble de nœuds. Ces deux éléments se trouvent dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle est
Extract-Variables-1
et le chemin XPath est123
:ExtractVariables Extract-Variables-1: Result of xpath 123 cannot be converted to nodeset. Context Revision:4;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.
Dans le XML de la règle d'extraction de variables ExtractVariables ayant échoué, vérifiez que le chemin XPath défini dans l'élément
<XPath>
correspond au chemin XPath identifié dans le message d'erreur (étape 1 ci-dessus). Par exemple, la règle suivante spécifieen tant que 123
, qui correspond au contenu du message d'erreur :<?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>
Examinez le type d'élément
<Variable>
correspondant à l'élément<XPath>
identifié à l'étape 2 ci-dessus. Si le type<Variable>
estnodeset
, il s'agit de la cause de l'erreur.Notez que l'expression
<XPath>
est123
dans l'exemple de règle d'extraction de variables ExtractVariables.<XPath>123</XPath>
L'expression
123
ne peut pas être convertie en ensemble de nœuds. Par conséquent, le déploiement du proxy d'API échoue.
Solution
Vérifiez que les expressions <XPath>
utilisées dans la règle d'extraction de variables ExtractVariables peuvent être converties en ensemble de nœuds si le type <Variable>
est défini en tant qu'ensemble de nœuds. Exemple :
<?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
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Deploying Revision [revision_number]
Pattern [pattern] is invalid in ExtractVariables stepDefinition [policy_name]
Exemple de message d'erreur
Error Deploying Revision 18 to test
Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
Exemple de capture d'écran
Cause
Si la définition de l'élément <Pattern>
est non valide dans les éléments tels que URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
ou JSONPayload
dans la règle d'extraction de variables ExtractVariables, le déploiement du proxy d'API échoue.
Diagnostic
Identifiez la règle d'extraction de variables ExtractVariables défaillante à partir du message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle est
Extract-Variables-2
:Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
Dans le XML de la règle d'extraction de variables ExtractVariables ayant échoué, vérifiez si l'un de ces éléments est présent et inclut un élément
<Pattern>
:URIPath
,QueryParam
,Header
,FormParam
,XMLPayload
ouJSONPayload
.Voici un exemple de règle d'extraction de variables ExtractVariables avec un élément
<Pattern>
dans un élément<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>
Examinez la définition de chacun des éléments
<Pattern>
. Si un élément<Pattern>
contient une définition non valide, il s'agit de la cause de l'erreur.Dans l'exemple de règle d'extraction de variables ExtractVariables présenté ci-dessus, notez que la définition
<Pattern>
dans l'élément<QueryParam>
est non valide. Le déploiement du proxy d'API échoue alors. Vous pouvez également vous référer à la section À propos de la mise en correspondance et de la création de variables.<Pattern ignoreCase="true">{*}</Pattern>
Solution
Vérifiez que la définition de l'élément <Pattern>
dans les éléments URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
ou JSONPayload
de la règle d'extraction de variables ExtractVariables est valide. Exemple :
<?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>
Vous pouvez également vous référer à la section À propos de la mise en correspondance et de la création de variables.
XPathCompilationFailed
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue par ce message d'erreur:
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].
Exemple de message d'erreur
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.
Exemple de capture d'écran
Cause
Si la valeur ou le préfixe utilisé dans l'élément <XPath>
ne fait pas partie des espaces de noms déclarés dans la règle d'extraction de variables ExtractVariables, le déploiement du proxy d'API échoue.
Pour en savoir plus sur les espaces de noms, les chemins XPath et le préfixe, reportez-vous à la section Les espaces de noms XML et comment ils affectent XPath et XHTML.
Diagnostic
Identifiez la règle d'extraction de variables ExtractVariables où l'erreur s'est produite et le chemin XPath qui n'a pas pu être compilé. Ces deux éléments se trouvent dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle est
EV-XML-Age
et le chemin XPath est/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.
Dans le XML de la règle d'extraction de variables ExtractVariables ayant échoué, vérifiez que le chemin XPath défini dans l'élément
<XPath>
correspond au chemin XPath identifié dans le message d'erreur (étape 1 ci-dessus). Par exemple, la règle suivante spécifieen tant que /apigee:Directions/apigee:route/apigee:leg/apigee:name
, qui correspond au contenu du message d'erreur :<?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>
Examinez les éléments
<Namespaces>
et<XPath>
de la règle d'extraction de variables ExtractVariables. Si le chemin<XPath>
spécifique indiqué dans le message d'erreur utilise un préfixe ou une valeur qui ne fait pas partie des espaces de noms déclarés dans la règle d'extraction de variables ExtractVariables, cela est la cause de l'erreur.Notez que le chemin
<XPath>
spécifique utilise le préfixeapigee
dans l'exemple de règle d'extraction de variables ExtractVariables.<XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>
Cependant, le préfixe
apigee
n'est défini dans aucun des éléments<Namespace>
. Par conséquent, la compilation de<XPath>
échoue, ce qui entraîne l'échec du déploiement.
Solution
Vérifiez que tous les espaces de noms utilisés dans les éléments <XPath>
sont déclarés dans la règle d'extraction de variables ExtractVariables. Exemple :
<?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>