Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
NothingToExtract
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera 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 alcun elemento URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
o JSONPayload
, il deployment del proxy API non riesce perché non c'è nulla da estrarre.
Come indicato nel messaggio di errore, il criterio Estrai variabili deve includere almeno uno dei seguenti elementi: URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
o JSONPayload
.
Diagnostica
Esamina il criterio Estrai variabili indicato nel messaggio di errore. Se il criterio non include nemmeno uno dei seguenti elementi: URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
o JSONPayload
, allora questa è la causa dell'errore. Ad esempio, il seguente criterio Estrai variabili non contiene nessuno degli elementi sopra menzionati:
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
<DisplayName>EV-XML-Age</DisplayName>
<Properties/>
</ExtractVariables>
Poiché nessuno degli elementi obbligatori è presente nel criterio Estrai variabili, il deployment del proxy API non riesce.
Risoluzione
Assicurati che il criterio Estrai variabili abbia almeno uno di questi elementi obbligatori: URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
e 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>
NON vuotoPrefissoMappedToVuotoURI
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera 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>
dell'elemento <XMLPayload>
, ma non è stato definito alcun URI.
Diagnostica
Identifica il criterio di estrazione delle variabili in cui si è verificato l'errore e il nome del prefisso. Puoi trovare entrambi gli elementi nel messaggio di errore. Ad esempio, nell'errore seguente , il nome del criterio è
EV-XML-Age
e il prefisso èapigee
:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Nel file XML del criterio Estrai variabili non riuscito, 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 riportato sopra). Ad esempio, il seguente criterio specifica un prefisso denominatoapigee
nell'elemento<Namespace>
, che corrisponde al 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, è questa la causa dell'errore.Nell'esempio di criterio Estrai variabili mostrato sopra, tieni presente che non esiste un URI corrispondente all'elemento
<Namespace>
con il prefissoapigee
; di conseguenza, 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 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>
DuplicatePrefix
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera 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>
dell'elemento <XMLPayload>
.
Ad esempio, questo errore si verifica perché il prefisso apigee
viene definito due volte come mostrato di seguito:
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
Diagnostica
Identifica il criterio di estrazione delle variabili in cui si è verificato l'errore e il nome del prefisso. Puoi trovare entrambi gli elementi nel messaggio di errore. Ad esempio, nell'errore seguente, il nome del criterio è
EV-XML-Age
e il prefisso èapigee
:ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Nel file XML del criterio Estrai variabili non riuscito, 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 riportato sopra). Ad esempio, il seguente criterio specifica un prefisso denominatoapigee
nell'elemento<Namespace>
, che corrisponde al 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 viene definito più volte, è questa la causa dell'errore.Nell'esempio di criterio Estrai variabili mostrato sopra, puoi notare che l'elemento
<Namespace>
con il prefissoapigee
è stato definito due volte; di conseguenza, viene visualizzato l'errore:ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Risoluzione
Assicurati che esista una sola definizione per ogni prefisso negli elementi <Namespace>
del 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'UI o l'API di gestione perimetrale non riesce e genera 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 il criterio Estrai variabili non contiene l'elemento <XPath>
all'interno dell'elemento <XMLPayload>
, il deployment del proxy API non riesce e viene generato l'errore mostrato sopra.
Diagnostica
Identifica il criterio per l'estrazione delle variabili che non è riuscito nel messaggio di errore. Ad esempio, nel seguente errore, il nome del criterio è
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>
. Se sì, è questa la causa dell'errore.Ad esempio, ecco un criterio Estrai variabili che ha 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 riesce.
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'UI o l'API di gestione perimetrale non riesce e genera 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 per l'estrazione delle variabili contiene un'espressione <XPath>
vuota all'interno dell'elemento <XMLPayload>
, il deployment del proxy API non va a buon fine.
Diagnostica
Identifica il criterio per l'estrazione delle variabili che non è riuscito nel messaggio di errore. Ad esempio, nel seguente errore, il nome del criterio è
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. Se sì, è questa la causa dell'errore.Ad esempio, ecco un criterio Estrai variabili che ha 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é esiste 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>
valido e non vuoto 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'UI o l'API di gestione perimetrale non riesce e genera 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 il criterio Estrai variabili non contiene l'elemento <JSONPath>
all'interno dell'elemento <JSONPayload>
, il deployment del proxy API non riesce e viene generato l'errore mostrato sopra.
Diagnostica
Identifica il criterio per l'estrazione delle variabili che non è riuscito nel messaggio di errore. Ad esempio, nel seguente errore, il nome del criterio è
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 c'è un elemento
<JSONPayload>
senza l'elemento secondario<JSONPath>
richiesto. Se sì, è questa la causa dell'errore.Ad esempio, ecco un criterio Estrai variabili che include 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 è stato definito alcun elemento secondario
<JSONPath>
nell'elemento<JSONPayload>
, il deployment del proxy API non riesce.
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'UI o l'API di gestione perimetrale non riesce e genera 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 il criterio per l'estrazione delle variabili contiene un'espressione <JSONPath>
vuota all'interno dell'elemento <JSONPayload>
, il deployment del proxy API non va a buon fine.
Diagnostica
Identifica il criterio per l'estrazione delle variabili che non è riuscito nel messaggio di errore. Ad esempio, nel seguente errore, il nome del criterio è
Extract-Variables-1
:ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
Nel file XML del criterio Estrai variabili non riuscito, verifica se è presente un elemento
<JSONPayload>
con un elemento secondario<JSONPath>
vuoto. Se sì, è questa la causa dell'errore.Ad esempio, ecco un criterio Estrai variabili che include 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é esiste un elemento
<JSONPath>
vuoto all'interno dell'elemento<JSONPayload>
, il deployment del proxy API non riesce.
Risoluzione
Assicurati che il criterio Estrai variabili abbia un elemento <JSONPath>
valido e non vuoto 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'UI o l'API di gestione perimetrale non riesce e genera 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 il criterio Estrai variabili non ha l'attributo name
in nessuno degli elementi del criterio, ad esempio QueryParam
, Header
, FormParam
o Variable
, ove richiesto, il deployment del proxy API non andrà a buon fine.
Ad esempio, questo errore si verifica se l'attributo name
non è presente in un elemento Variable
.
Diagnostica
Identifica il nome del criterio Estrai variabili in cui si è verificato l'errore e l'elemento in cui l'attributo
name
è mancante. Puoi trovare questi elementi nel messaggio di errore. Ad esempio, nel seguente errore, il nome del criterio èExtract-Variables-1
e il nome dell'elemento èVariable
:Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
Nel file XML del criterio Estrai variabili che non è stato superato, verifica che tutti gli elementi con il nome determinato nel passaggio 1 precedente abbiano un attributo
name
. L'assenza dell'attributo name in un qualsiasi elemento è la causa dell'errore.Ad esempio, nel seguente criterio Estrai variabili è stato definito l'elemento
<Variable>
:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1"> <DisplayName>Extract Variables-1</DisplayName> <Properties/> <Variable type="boolean"> <Pattern>{isAccountActive}</Pattern> </Variable> </ExtractVariables>
Nota che l'attributo
name
non è presente nell'elementoVariable
, quindi il deployment del proxy API non riesce.
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'UI o l'API di gestione perimetrale non riesce e genera 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 nell'elemento <Pattern>
, il deployment del proxy API non va a buon fine. L'elemento <Pattern>
richiede il nome della variabile in cui verranno archiviati i dati estratti.
Diagnostica
Identifica il nome del criterio Estrai variabili in cui si è verificato l'errore e il pattern per cui la variabile non è presente. Puoi trovare questi elementi nel messaggio di errore. Ad esempio, nel seguente errore, il nome del criterio è
Extract-Variables-1
e il nome dell'elemento è/a/b
:Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
Nel file XML del criterio Estrai variabili non riuscito, verifica che il pattern impostato nell'elemento
<Pattern>
corrisponda al pattern identificato nel messaggio di errore (passaggio 1 riportato sopra). Ad esempio, il seguente criterio specifica un pattern/a/b
, che corrisponde al contenuto del messaggio di errore:Ad esempio, ecco un criterio Estrai variabili che ha 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, è questa la causa dell'errore.L'elemento
<Pattern>
con il pattern /a/b non include una variabile, pertanto il deployment del proxy API non riesce.<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'UI o l'API di gestione perimetrale non riesce e genera 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 il criterio 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 riesce.
Diagnostica
Identifica il criterio Estrai variabili in cui si è verificato l'errore e l'XPath che non può essere convertito in set di nodi. Puoi trovare entrambi gli elementi nel messaggio di errore. Ad esempio, nell'errore seguente , il nome del criterio è
Extract-Variables-1
e 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 file XML del criterio Estrai variabili non riuscito, verifica che il set XPath impostato nell'elemento
<XPath>
corrisponda all'XPath identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, il seguente criterio specificacome 123
, che corrisponde al contenuto del 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 di elemento
<Variable>
corrispondente all'elemento<XPath>
identificato nel passaggio 2 riportato sopra. Se il tipo<Variable>
ènodeset
, è questo il motivo dell'errore.Tieni presente che l'espressione
<XPath>
è123
nel criterio di esempio Estrai variabili.<XPath>123</XPath>
Impossibile convertire l'espressione
123
in un set 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 set di nodi se il tipo <Variable>
è definito come set di nodi. 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'UI o l'API di gestione perimetrale non riesce e genera 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 del criterio di estrazione delle variabili, il deployment del proxy API non andrà a buon fine.
Diagnostica
Identifica il criterio che restituisce errori dal messaggio di errore per l'estrazione delle variabili. Ad esempio, nel seguente errore, il nome del criterio è
Extract-Variables-2
:Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
Nel file XML del criterio Estrai variabili che non è stato superato, verifica se uno di questi elementi è presente e include un elemento
<Pattern>
.URIPath
,QueryParam
,Header
,FormParam
,XMLPayload
oJSONPayload
.Ad esempio, ecco un esempio del 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>
. L'eventuale presenza di un elemento<Pattern>
con una definizione non valida è la causa dell'errore.Nell'esempio di criterio Estrai variabili mostrato sopra, puoi notare che la definizione di
<Pattern>
all'interno dell'elemento<QueryParam>
non è valida; pertanto, il deployment del proxy API non riesce. 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'UI o l'API di gestione perimetrale 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 di estrazione delle variabili, il deployment del proxy API non andrà a buon fine.
Puoi trovare ulteriori informazioni su spazi dei nomi, XPath e prefisso in Spazi dei nomi XML e in che modo influiscono su XPath e JDBC.
Diagnostica
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, nell'errore seguente , il nome del criterio è
EV-XML-Age
e 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 file XML del criterio Estrai variabili non riuscito, verifica che il set XPath impostato nell'elemento
<XPath>
corrisponda all'XPath identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, il seguente criterio specificacome /apigee:Directions/apigee:route/apigee:leg/apigee:name
, che corrisponde al contenuto del 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>
nel criterio Estrai variabili. Se l'elemento<XPath>
specifico indicato nel messaggio di errore utilizza un prefisso o un valore che non fa parte degli spazi dei nomi dichiarati nel criterio Estrai variabili, questo è il motivo dell'errore.Tieni presente che l'elemento
<XPath>
specifico utilizza il prefissoapigee
nell'esempio di criterio Estrai variabili.<XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>
Tuttavia, il prefisso
apigee
non è definito in nessuno degli elementi<Namespace>
; di conseguenza, la compilazione di<XPath>
non riesce e comporta un errore del deployment.
Risoluzione
Assicurati che tutti gli spazi dei nomi utilizzati negli elementi <XPath>
siano dichiarati nel criterio per l'estrazione delle 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>