Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
NothingToExtract
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI Apigee non riesce e viene visualizzato questo messaggio di errore:
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].
Esempio di messaggio di errore
Error Saving Revision 2
ExtractVariables EV-XML-Age: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
Screenshot di esempio

Causa
Se il criterio Estrai variabili non contiene gli elementi URIPath, QueryParam, Header, FormParam, XMLPayload o JSONPayload, il deployment del proxy API non va a buon fine perché non c'è nulla da estrarre.
Come indicato nel messaggio di errore, il criterio Estrai variabili deve includere almeno uno di questi elementi: URIPath, QueryParam, Header, FormParam, XMLPayload o JSONPayload.
Diagnosi
Esamina il criterio Estrai variabili indicato nel messaggio di errore. Se le norme non includono nemmeno uno dei seguenti elementi: URIPath, QueryParam, Header, FormParam, XMLPayload o JSONPayload, questa è la causa dell'errore. Ad esempio, la seguente norma Estrai variabili non contiene nessuno degli elementi menzionati sopra:
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
<DisplayName>EV-XML-Age</DisplayName>
<Properties/>
</ExtractVariables>
Poiché nessuno degli elementi obbligatori è presente nella policy Estrai variabili, il deployment del proxy API non va a buon fine.
Risoluzione
Assicurati che il criterio Estrai variabili contenga almeno uno di questi elementi obbligatori: URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload. Ad esempio:
<?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
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI Apigee non riesce e viene visualizzato questo messaggio di errore:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Non-empty prefix [prefix_name] cannot be mapped to empty uri.
Esempio di messaggio di errore
Error Saving Revision 3
ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Screenshot di esempio

Causa
Questo errore si verifica se il criterio Estrai variabili ha un prefisso definito nell'elemento <Namespace> sotto l'elemento <XMLPayload>, ma non è definito alcun URI.
Diagnosi
Identifica il criterio Estrai variabili in cui si è verificato l'errore e il nome del prefisso. Puoi trovare entrambi gli elementi nel messaggio di errore. Ad esempio, nel seguente errore , il nome della policy è
EV-XML-Agee il prefisso èapigee:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.Nel file XML della policy Estrai variabili non riuscita, verifica che il nome del prefisso impostato nell'elemento
<Namespace>sotto l'elemento<XMLPayload>corrisponda al nome del prefisso identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, la seguente policy specifica un prefisso denominatoapigeenell'elemento<Namespace>, che corrisponde a quanto riportato nel messaggio di errore:<?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>Verifica se l'elemento
<Namespace>con il prefisso specifico identificato nel passaggio 2 ha un URI valido. Se l'URI non è presente, questo è il motivo dell'errore.Nell'esempio di policy Estrai variabili mostrato sopra, nota che non esiste alcun URI corrispondente all'elemento
<Namespace>con il prefissoapigee; pertanto, viene visualizzato l'errore:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Risoluzione
Assicurati che tutti gli elementi <Namespace> definiti con un prefisso abbiano un URI corrispondente nella policy Estrai variabili. Ad esempio:
<?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
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI Apigee non riesce e viene visualizzato questo messaggio di errore:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Duplicate prefix [prefix_name].
Esempio di messaggio di errore
Error Saving Revision 2
ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Screenshot di esempio

Causa
Questo errore si verifica se il criterio Estrai variabili ha lo stesso prefisso definito più di una volta nell'elemento <Namespace> nell'elemento <XMLPayload>.
Ad esempio, questo errore si verifica perché il prefisso apigee è definito due volte, come mostrato di seguito:
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
Diagnosi
Identifica il criterio Estrai variabili in cui si è verificato l'errore e il nome del prefisso. Puoi trovare entrambi gli elementi nel messaggio di errore. Ad esempio, nel seguente errore, il nome della policy è
EV-XML-Agee il prefisso èapigee:ExtractVariables EV-XML-Age: Duplicate prefix apigee.Nel file XML della policy Estrai variabili non riuscita, verifica che il nome del prefisso impostato nell'elemento
<Namespace>sotto l'elemento<XMLPayload>corrisponda al nome del prefisso identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, la seguente policy specifica un prefisso denominatoapigeenell'elemento<Namespace>, che corrisponde a quanto riportato nel messaggio di errore:<?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>Determina se l'elemento
<Namespace>con il prefisso specifico, identificato nel passaggio 2, è stato definito più di una volta. Se è definito più di una volta, questa è la causa dell'errore.Nell'esempio di policy Estrai variabili mostrato sopra, nota che l'elemento
<Namespace>con il prefissoapigeeè stato definito due volte, pertanto viene visualizzato l'errore:ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Risoluzione
Assicurati che esista una sola definizione per ogni prefisso negli elementi <Namespace> nel criterio Estrai variabili. Ad esempio:
<?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
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI Apigee non riesce e viene visualizzato questo messaggio di errore:
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no xpaths to evaluate in variable name.
Esempio di messaggio di errore
Error Saving Revision 4
ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
Screenshot di esempio

Causa
Se la norma Estrai variabili non ha l'elemento <XPath> all'interno dell'elemento <XMLPayload>, il deployment del proxy API non va a buon fine e viene visualizzato l'errore mostrato sopra.
Diagnosi
Identifica il criterio Estrai variabili non riuscito dal messaggio di errore. Ad esempio, nel seguente errore, il nome della policy è
Extract-Variables-1:ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.Nel file XML del criterio Estrai variabili non riuscito, controlla se è presente un elemento
<XMLPayload>senza l'elemento secondario<XPath>. In questo caso, la causa dell'errore è proprio questa.Ad esempio, ecco un criterio Estrai variabili che contiene un 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>Poiché non è presente alcun elemento
<XPath>, il deployment del proxy API non va a buon fine.
Risoluzione
Assicurati che il criterio Estrai variabili abbia un elemento <XPath> definito nell'elemento <XMLPayload>. Ad esempio:
<?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
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI Apigee non riesce e viene visualizzato questo messaggio di errore:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: XPath expression is empty in variable name.
Esempio di messaggio di errore
Error Saving Revision 6
ExtractVariables Extract-Variables-1: XPath expression is empty in variable name.
Screenshot di esempio

Causa
Se il criterio Estrai variabili ha un'espressione <XPath> vuota all'interno dell'elemento <XMLPayload>, il deployment del proxy API non va a buon fine.
Diagnosi
Identifica il criterio Estrai variabili non riuscito dal messaggio di errore. Ad esempio, nel seguente errore, il nome della policy è
Extract-Variables-1:ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.Nel file XML del criterio Estrai variabili non riuscito, determina se è presente un elemento
<XMLPayload>con un elemento secondario<XPath>vuoto. In questo caso, la causa dell'errore è proprio questa.Ad esempio, ecco un criterio Estrai variabili che include un 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>Poiché è presente un elemento
<XPath>vuoto all'interno dell'elemento<XMLPayload>, il deployment del proxy API non riesce.
Risoluzione
Assicurati che il criterio Estrai variabili abbia un elemento <XPath> non vuoto e valido definito nell'elemento <XMLPayload>. Ad esempio:
<?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
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI Apigee non riesce e viene visualizzato questo messaggio di errore:
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no jsonpaths to evaluate in variable name.
Esempio di messaggio di errore
Error Saving Revision 6
ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
Screenshot di esempio

Causa
Se la norma Estrai variabili non ha l'elemento <JSONPath> all'interno dell'elemento <JSONPayload>, il deployment del proxy API non va a buon fine e viene visualizzato l'errore mostrato sopra.
Diagnosi
Identifica il criterio Estrai variabili non riuscito dal messaggio di errore. Ad esempio, nel seguente errore, il nome della policy è
Extract-Variables-1:ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.Nel file XML del criterio Estrai variabili non riuscito, determina se è presente un elemento
<JSONPayload>senza l'elemento secondario<JSONPath>obbligatorio. In questo caso, la causa dell'errore è proprio questa.Ad esempio, ecco un criterio Estrai variabili con l'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>Poiché non è definito alcun elemento secondario
<JSONPath>nell'elemento<JSONPayload>, il deployment del proxy API non va a buon fine.
Risoluzione
Assicurati che il criterio Estrai variabili abbia un elemento <JSONPath> definito nell'elemento <JSONPayload>. Ad esempio:
<?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
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI Apigee non riesce e viene visualizzato questo messaggio di errore:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: JSONPath expression is empty in variable name.
Esempio di messaggio di errore
Error Saving Revision 6
ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
Screenshot di esempio

Causa
Se la norma Estrai variabili ha un'espressione <JSONPath> vuota all'interno dell'elemento <JSONPayload>, il deployment del proxy API non va a buon fine.
Diagnosi
Identifica il criterio Estrai variabili non riuscito dal messaggio di errore. Ad esempio, nel seguente errore, il nome della policy è
Extract-Variables-1:ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.Nel file XML dei criteri Estrai variabili non riusciti, verifica se è presente un elemento
<JSONPayload>con un elemento secondario<JSONPath>vuoto. In questo caso, la causa dell'errore è proprio questa.Ad esempio, ecco un criterio Estrai variabili con un 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>Poiché all'interno dell'elemento
<JSONPayload>è presente un elemento<JSONPath>vuoto, il deployment del proxy API non riesce.
Risoluzione
Assicurati che il criterio Estrai variabili abbia un elemento <JSONPath> non vuoto e valido definito nell'elemento <JSONPayload>. Ad esempio:
<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
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI Apigee non riesce e viene visualizzato questo messaggio di errore:
Error Saving Revision [revision_number] Error occurred while validation of bean [policy_name].xml Reason: - Required attribute name is missing in [element_name]
Esempio di messaggio di errore
Error Saving Revision 6
Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
Screenshot di esempio

Causa
Se la policy Estrai variabili non ha l'attributo name in nessuno degli elementi della policy, ad esempio QueryParam, Header, FormParam o Variable, in cui è obbligatorio, il deployment del proxy API non va a buon fine.
Ad esempio, questo errore si verifica se l'attributo name non è presente in un elemento Variable.
Diagnosi
Identifica il nome della policy Estrai variabili in cui si è verificato l'errore e l'elemento in cui manca l'attributo
name. Puoi trovare questi elementi nel messaggio di errore. Ad esempio, nel seguente errore, il nome della policy èExtract-Variables-1e il nome dell'elemento èVariable:Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in VariableNel file XML del criterio Estrai variabili non riuscito, verifica che tutti gli elementi con il nome determinato nel passaggio 1 precedente abbiano un attributo
name. Se manca l'attributo name in un elemento, questo è il motivo dell'errore.Ad esempio, la seguente policy Estrai variabili ha l'elemento
<Variable>definito:<?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>Nota che l'attributo
nameè mancante nell'elementoVariable, pertanto il deployment del proxy API non va a buon fine.
Risoluzione
Assicurati che il criterio Estrai variabili contenga l'attributo name obbligatorio per gli elementi QueryParam, Header, FormParam o Variable. Ad esempio:
<?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
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI Apigee non riesce e viene visualizzato questo messaggio di errore:
Error Saving Revision [revision_number] Pattern [pattern] should have at least one variable in ExtractVariables stepDefinition [policy_name]
Esempio di messaggio di errore
Error Saving Revision 7
Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
Screenshot di esempio

Causa
Se il criterio Estrai variabili non ha una variabile specificata all'interno dell'elemento <Pattern>, il deployment del proxy API non va a buon fine. L'elemento <Pattern> richiede il nome della variabile in cui verranno memorizzati i dati estratti.
Diagnosi
Identifica il nome della policy Estrai variabili in cui si è verificato l'errore e il pattern per cui manca la variabile. Puoi trovare questi elementi nel messaggio di errore. Ad esempio, nel seguente errore, il nome della policy è
Extract-Variables-1e il nome dell'elemento è/a/b:Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.Nel codice XML del criterio Estrai variabili non riuscito, verifica che il pattern impostato nell'elemento
<Pattern>corrisponda a quello identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, la seguente policy specifica un pattern/a/b, che corrisponde a ciò che è presente nel messaggio di errore:Ad esempio, ecco un criterio Estrai variabili con tre elementi
<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>Controlla se l'elemento
<Pattern>identificato nel passaggio 2 non ha una variabile. Le variabili devono essere racchiuse tra parentesi graffe. Se il pattern non ha una variabile, questo è il motivo dell'errore.L'elemento
<Pattern>con il pattern /a/b non include una variabile, pertanto il deployment del proxy API non va a buon fine<Pattern ignoreCase="true">/a/b/</Pattern>
Risoluzione
Assicurati che tutti gli elementi <Pattern> includano una variabile (un nome racchiuso tra parentesi graffe). Ad esempio:
<?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
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI Apigee non riesce e viene visualizzato questo messaggio di errore:
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].
Esempio di messaggio di errore
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.
Screenshot di esempio

Causa
Se la policy Estrai variabili ha un'espressione <XPath> in cui il tipo <Variable> è definito come nodeset, ma l'espressione non può essere convertita in nodeset, il deployment del proxy API non va a buon fine.
Diagnosi
Identifica il criterio Estrai variabili in cui si è verificato l'errore e l'XPath che non può essere convertito in un insieme di nodi. Puoi trovare entrambi gli elementi nel messaggio di errore. Ad esempio, nel seguente errore , il nome della policy è
Extract-Variables-1e l'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.Nel codice XML del criterio Estrai variabili non riuscito, verifica che l'XPath impostato nell'elemento
<XPath>corrisponda all'XPath identificato nel messaggio di errore (passaggio 1 riportato sopra). Ad esempio, la seguente policy specificacome 123, che corrisponde a quanto riportato nel messaggio di errore:<?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>Esamina il tipo dell'elemento
<Variable>corrispondente a<XPath>identificato nel passaggio 2 riportato sopra. Se il tipo<Variable>ènodeset, questo è il motivo dell'errore.Tieni presente che l'espressione
<XPath>è123nell'esempio di criterio Estrai variabili.<XPath>123</XPath>L'espressione
123non può essere convertita in un insieme di nodi. Pertanto, il deployment del proxy API non riesce.
Risoluzione
Assicurati che le espressioni <XPath> utilizzate nel criterio Estrai variabili possano essere convertite in nodeset se il tipo <Variable> è definito come nodeset. Ad esempio:
<?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
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI Apigee non riesce e viene visualizzato questo messaggio di errore:
Error Deploying Revision [revision_number]
Pattern [pattern] is invalid in ExtractVariables stepDefinition [policy_name]
Esempio di messaggio di errore
Error Deploying Revision 18 to test
Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
Screenshot di esempio

Causa
Se la definizione dell'elemento <Pattern> non è valida in uno degli elementi come URIPath, QueryParam, Header, FormParam, XMLPayload o JSONPayload all'interno della norma Estrai variabili, il deployment del proxy API non va a buon fine.
Diagnosi
Identifica il criterio Estrai variabili non riuscito dal messaggio di errore. Ad esempio, nel seguente errore, il nome della policy è
Extract-Variables-2:Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.Nel file XML dei criteri Estrai variabili non riuscito, controlla se è presente uno di questi elementi e includi un elemento
<Pattern>:URIPath,QueryParam,Header,FormParam,XMLPayloadoJSONPayload.Ad esempio, ecco un criterio Estrai variabili con un elemento
<Pattern>all'interno dell'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>Esamina la definizione di ciascuno degli elementi
<Pattern>. Se è presente un elemento<Pattern>con una definizione non valida, questo è il motivo dell'errore.Nell'esempio di policy Estrai variabili mostrato sopra, nota che la definizione
<Pattern>all'interno dell'elemento<QueryParam>non è valida, pertanto il deployment del proxy API non va a buon fine. Vedi anche Informazioni sulla corrispondenza e sulla creazione di variabili<Pattern ignoreCase="true">{*}</Pattern>
Risoluzione
Assicurati che la definizione dell'elemento <Pattern> all'interno degli elementi URIPath, QueryParam, Header, FormParam, XMLPayload o JSONPayload nel criterio Estrai variabili sia valida. Ad esempio:
<?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>
Vedi anche Informazioni sulla corrispondenza e sulla creazione di variabili.
XPathCompilationFailed
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI Apigee non riesce e viene visualizzato questo messaggio di errore:
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].
Esempio di messaggio di errore
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.
Screenshot di esempio

Causa
Se il prefisso o il valore utilizzato nell'elemento <XPath> non fa parte di nessuno degli spazi dei nomi dichiarati nel criterio Estrai variabili, il deployment del proxy API non va a buon fine.
Puoi trovare maggiori informazioni su spazi dei nomi, XPath e prefisso in XML Namespaces and How They Affect XPath and XSLT.
Diagnosi
Identifica il criterio Estrai variabili in cui si è verificato l'errore e l'XPath che non è stato possibile compilare. Puoi trovare entrambi gli elementi nel messaggio di errore. Ad esempio, nel seguente errore , il nome della policy è
EV-XML-Agee l'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.Nel codice XML del criterio Estrai variabili non riuscito, verifica che l'XPath impostato nell'elemento
<XPath>corrisponda all'XPath identificato nel messaggio di errore (passaggio 1 riportato sopra). Ad esempio, la seguente policy specificacome /apigee:Directions/apigee:route/apigee:leg/apigee:name, che corrisponde a quanto riportato nel messaggio di errore:<?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>Esamina gli elementi
<Namespaces>e<XPath>nelle norme Estrai variabili. Se lo specifico<XPath>indicato nel messaggio di errore utilizza un prefisso o un valore che non fa parte degli spazi dei nomi dichiarati nel criterio Estrai variabili, questa è la causa dell'errore.Tieni presente che
<XPath>specifico utilizza il prefissoapigeenell'esempio di policy Estrai variabili.<XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>Tuttavia, il prefisso
apigeenon è definito in nessuno degli elementi<Namespace>, pertanto la compilazione di<XPath>non va a buon fine e il deployment non viene eseguito.
Risoluzione
Assicurati che tutti gli spazi dei nomi utilizzati negli elementi <XPath> siano dichiarati nel criterio Estrai variabili. Ad esempio:
<?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>