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 la UI o l'API Apigee non va a buon fine 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 dei seguenti elementi: URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
o JSONPayload
.
Diagnosi
Esamina il criterio Estrai variabili denominato nel messaggio di errore. Se il criterio non contiene nemmeno uno dei seguenti elementi: URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
o JSONPayload
, è questo la causa dell'errore. Ad esempio, il seguente criterio Estrazione 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 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 la UI o l'API Apigee non va a buon fine 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 Estrazione variabili ha un prefisso definito nell'elemento <Namespace>
all'interno dell'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 questi elementi nel messaggio di errore. Ad esempio, nel seguente errore , 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 Estrazione 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 sopra). Ad esempio, il seguente criterio consente di specificare un prefisso denominatoapigee
nell'elemento<Namespace>
, 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="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 che l'elemento
<Namespace>
con il prefisso specifico identificato nel passaggio 2 abbia un URI valido. Se l'URI non è presente, è la causa dell'errore.Nell'esempio del criterio Estrai variabili mostrato sopra, puoi notare che non esiste un URI corrispondente all'elemento
<Namespace>
con il prefissoapigee
. perciò 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 la UI o l'API Apigee non va a buon fine 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>
all'interno dell'elemento <XMLPayload>
.
Ad esempio, questo errore si verifica perché il prefisso apigee
è definito due volte come illustrato di seguito:
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
Diagnosi
Identifica il criterio Estrazione variabili in cui si è verificato l'errore e il nome del prefisso. Puoi trovare entrambi questi 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 Estrazione 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 sopra). Ad esempio, il seguente criterio consente di specificare un prefisso denominatoapigee
nell'elemento<Namespace>
, 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> <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 criteri di estrazione delle variabili mostrato sopra, tieni presente 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 la UI o l'API Apigee non va a buon fine 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 il criterio di estrazione delle variabili non include l'elemento <XPath>
all'interno dell'elemento <XMLPayload>
, il deployment del proxy API non va a buon fine e restituisce l'errore mostrato sopra.
Diagnosi
Identifica il criterio di estrazione delle variabili non riuscito dal messaggio di errore. Ad esempio, nell'errore seguente, il nome del criterio è
Extract-Variables-1
:ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
Nel file XML del criterio di estrazione delle variabili che non è riuscito, controlla se esiste un elemento
<XMLPayload>
senza l'elemento secondario<XPath>
. In questo caso, è la causa dell'errore.Ad esempio, ecco un criterio Estrazione variabili con 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 sotto l'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 la UI o l'API Apigee non va a buon fine 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 Estrazione variabili contiene un'espressione <XPath>
vuota all'interno dell'elemento <XMLPayload>
, il deployment del proxy API non va a buon fine.
Diagnosi
Identifica il criterio di estrazione delle variabili non riuscito dal 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 di estrazione delle variabili con errori, determina se è presente un elemento
<XMLPayload>
con un elemento secondario<XPath>
vuoto. In questo caso, è la causa dell'errore.Ad esempio, ecco un criterio Estrazione variabili con 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é all'interno dell'elemento
<XMLPayload>
è presente un elemento<XPath>
vuoto, il deployment del proxy API non va a buon fine.
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 la UI o l'API Apigee non va a buon fine 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 il criterio Estrazione variabili non contiene l'elemento <JSONPath>
all'interno dell'elemento <JSONPayload>
, il deployment del proxy API non va a buon fine e viene visualizzato l'errore riportato sopra.
Diagnosi
Identifica il criterio Estrazione variabili non riuscito dal messaggio di errore. Ad esempio, nell'errore seguente, il nome del criterio è
Extract-Variables-1
:ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
Nel file XML del criterio Estrazione variabili non riuscito, determina se è presente un elemento
<JSONPayload>
senza l'elemento secondario<JSONPath>
obbligatorio. In tal caso, questa è la causa dell'errore.Ad esempio, ecco un criterio Estrazione variabili che contiene 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 dell'API Proxy non va a buon fine.
Risoluzione
Assicurati che il criterio Estrai variabili abbia un elemento <JSONPath>
definito sotto l'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 la UI o l'API Apigee non va a buon fine 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 il criterio di estrazione delle variabili ha un'espressione <JSONPath>
vuota nell'elemento <JSONPayload>
, il deployment del proxy API non va a buon fine.
Diagnosi
Identifica il criterio di estrazione delle variabili non riuscito dal messaggio di errore. Ad esempio, nell'errore seguente, il nome del criterio è
Extract-Variables-1
:ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
Nel file XML del criterio di estrazione delle variabili che non è riuscito, verifica se è presente un elemento
<JSONPayload>
con un elemento secondario<JSONPath>
vuoto. In questo caso, è la causa dell'errore.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é è presente un elemento
<JSONPath>
vuoto all'interno dell'elemento<JSONPayload>
, il deployment del proxy API non va a buon fine.
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 la UI o l'API Apigee non va a buon fine 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 il criterio di estrazione delle variabili non ha l'attributo name
in nessuno degli elementi del criterio come QueryParam
, Header
, FormParam
o Variable
, dove richiesto, 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 del criterio 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, nell'errore seguente, 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 Estrazione variabili non riuscito, verifica che tutti gli elementi con il nome determinato nel passaggio 1 sopra indicato abbiano un attributo
name
. Se manca l'attributo name in un elemento, questo è l'elemento che causa l'errore.Ad esempio, il seguente criterio Estrazione variabili ha 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>
Tieni presente che l'attributo
name
non è presente nell'elementoVariable
, pertanto il deployment del proxy API non va a buon fine.
Risoluzione
Assicurati che il criterio Estrazione 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 la UI o l'API Apigee non va a buon fine 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 Estrazione 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 archiviati i dati estratti.
Diagnosi
Identifica il nome del criterio Estrai variabili in cui si è verificato l'errore e il pattern in cui la variabile è mancante. Puoi trovare questi elementi nel messaggio di errore. Ad esempio, nell'errore seguente, 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 di estrazione delle variabili con errori, verifica che il pattern impostato nell'elemento
<Pattern>
corrisponda al pattern identificato nel messaggio di errore (passaggio 1 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 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. Variabili deve essere racchiuso tra parentesi graffe. Se il pattern non ha una variabile, la causa dell'errore.L'elemento
<Pattern>
con il pattern /a/b non include una variabile; pertanto, il deployment dell'API Proxy 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 la UI o l'API Apigee non va a buon fine 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 il criterio Estrazione variabili contiene 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 nodeset. Puoi trovare entrambe le voci 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 di estrazione delle variabili non riuscito, verifica che l'XPath impostato nell'elemento
<XPath>
corrisponda a quello identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, il seguente criterio specificacome 123
, che corrisponde a quanto indicato 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 di elemento
<Variable>
corrispondente a<XPath>
identificato nel passaggio 2 riportato sopra. Se il tipo<Variable>
ènodeset
, questa è la causa dell'errore.Tieni presente che l'espressione
<XPath>
è123
nel criterio Estrazione variabili di esempio.<XPath>123</XPath>
L'espressione
123
non può essere convertita in nodeset. Pertanto, il deployment del proxy API non va a buon fine.
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 la UI o l'API Apigee non va a buon fine 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 qualsiasi degli elementi come URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
o JSONPayload
nel criterio di estrazione delle variabili, il deployment del proxy API non va a buon fine.
Diagnosi
Identifica il criterio di estrazione delle variabili in errore dal messaggio di errore. Ad esempio, nel seguente errore, il nome del criterio è
Extract-Variables-2
:Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
Nel file XML delle norme relative alle variabili estruse non riuscite, controlla se sono presenti uno di questi elementi e includi un elemento
<Pattern>
:URIPath
,QueryParam
,Header
,FormParam
,XMLPayload
oJSONPayload
.Ad esempio, ecco un criterio Estrai variabili con un elemento
<Pattern>
all'interno di un 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, questa è la causa dell'errore.Nell'esempio di criterio Estrazione variabili mostrato sopra, tieni presente che la definizione di
<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>
Consulta anche Informazioni sulla corrispondenza e sulla creazione di variabili
XPathCompilationFailed
Messaggio di errore
Il deployment del proxy API tramite l'API o l'interfaccia utente di Apigee non va a buon fine con 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 va a buon fine.
Puoi trovare ulteriori informazioni su spazi dei nomi, XPath e prefisso in XML Namespaces and How they Affect XPath e TCF.
Diagnosi
Identifica il criterio Estrai variabili in cui si è verificato l'errore e l'XPath che non è stato possibile compilare. Puoi trovare entrambe le voci 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 di estrazione delle variabili non riuscito, verifica che l'XPath impostato nell'elemento
<XPath>
corrisponda a quello identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, il seguente criterio specificacome /apigee:Directions/apigee:route/apigee:leg/apigee:name
, che corrisponde a quanto indicato 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>
nel criterio Estrai variabili. Se il<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 è la causa dell'errore.Tieni presente che
<XPath>
specifico utilizza il prefissoapigee
nel criterio Estrazione variabili di esempio.<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 va a buon fine e causa un errore di deployment.
Risoluzione
Assicurati che tutti gli spazi dei nomi utilizzati negli elementi <XPath>
siano dichiarati nel criterio di 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>