Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
NothingToExtract
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
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].
Przykładowy komunikat o błędzie
Error Saving Revision 2
ExtractVariables EV-XML-Age: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
Przykładowy zrzut ekranu

Przyczyna
Jeśli zasady Extract Variables nie zawierają żadnego z elementów URIPath, QueryParam, Header, FormParam, XMLPayload ani JSONPayload, wdrożenie serwera proxy interfejsu API nie powiedzie się, ponieważ nie ma nic do wyodrębnienia.
Jak wskazano w komunikacie o błędzie, zasada Extract Variables musi zawierać co najmniej jeden z tych elementów: URIPath, QueryParam, Header, FormParam, XMLPayload lub JSONPayload.
Diagnostyka
Sprawdź zasadę Extract Variables (Wyodrębnij zmienne) wymienioną w komunikacie o błędzie. Jeśli zasady nie zawierają co najmniej jednego z tych elementów: URIPath, QueryParam, Header, FormParam, XMLPayload lub JSONPayload, to jest to przyczyną błędu. Na przykład ta zasada Extract Variables nie zawiera żadnego z wymienionych powyżej elementów:
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
<DisplayName>EV-XML-Age</DisplayName>
<Properties/>
</ExtractVariables>
Ponieważ w zasadach Extract Variables nie ma żadnych elementów obowiązkowych, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Rozdzielczość
Sprawdź, czy zasada Extract Variables zawiera co najmniej 1 z tych obowiązkowych elementów: URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload. Na przykład:
<?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
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Non-empty prefix [prefix_name] cannot be mapped to empty uri.
Przykładowy komunikat o błędzie
Error Saving Revision 3
ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Przykładowy zrzut ekranu

Przyczyna
Ten błąd występuje, jeśli zasada Extract Variables Policy ma zdefiniowany prefiks w elemencie <Namespace> w elemencie <XMLPayload>, ale nie ma zdefiniowanego identyfikatora URI.
Diagnostyka
Określ zasadę Extract Variables, w której wystąpił błąd, oraz nazwę prefiksu. Oba te elementy znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to
EV-XML-Age, a prefiks toapigee:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.W pliku XML nieudanej zasady Extract Variables sprawdź, czy nazwa prefiksu ustawiona w elemencie
<Namespace>w elemencie<XMLPayload>jest zgodna z nazwą prefiksu podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład te zasady określają prefiks o nazwieapigeew elemencie<Namespace>, który pasuje do tego , co znajduje się w komunikacie o błędzie:<?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>Sprawdź, czy element
<Namespace>z określonym prefiksem zidentyfikowanym w kroku 2 ma prawidłowy identyfikator URI. Jeśli identyfikator URI nie jest podany, to jest przyczyną błędu.W przykładzie zasady Extract Variables (Wyodrębnianie zmiennych) powyżej widać, że nie ma identyfikatora URI odpowiadającego elementowi
<Namespace>z prefiksemapigee. Dlatego pojawia się błąd:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Rozdzielczość
Sprawdź, czy wszystkie elementy <Namespace> zdefiniowane z prefiksem mają odpowiedni identyfikator URI w zasadach wyodrębniania zmiennych. Na przykład:
<?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
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Duplicate prefix [prefix_name].
Przykładowy komunikat o błędzie
Error Saving Revision 2
ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Przykładowy zrzut ekranu

Przyczyna
Ten błąd występuje, jeśli zasady wyodrębniania zmiennych mają ten sam prefiks zdefiniowany więcej niż raz w elemencie <Namespace> w elemencie <XMLPayload>.
Ten błąd występuje na przykład dlatego, że prefiks apigee jest zdefiniowany 2 razy, jak pokazano poniżej:
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
Diagnostyka
Określ zasadę Extract Variables, w której wystąpił błąd, oraz nazwę prefiksu. Oba te elementy znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to
EV-XML-Age, a prefiks toapigee:ExtractVariables EV-XML-Age: Duplicate prefix apigee.W pliku XML nieudanej zasady Extract Variables sprawdź, czy nazwa prefiksu ustawiona w elemencie
<Namespace>w elemencie<XMLPayload>jest zgodna z nazwą prefiksu podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład te zasady określają prefiks o nazwieapigeew elemencie<Namespace>, który pasuje do tego , co znajduje się w komunikacie o błędzie:<?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>Sprawdź, czy element
<Namespace>z określonym prefiksem zidentyfikowanym w kroku 2 został zdefiniowany więcej niż raz. Jeśli jest zdefiniowana więcej niż raz, to jest to przyczyną błędu.W przykładzie zasady Extract Variables (Wyodrębnij zmienne) pokazanym powyżej element
<Namespace>z prefiksemapigeezostał zdefiniowany 2 razy, dlatego pojawia się błąd:ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Rozdzielczość
Upewnij się, że w elemencie <Namespace> zasady Extract Variables (Wyodrębnij zmienne) jest tylko jedna definicja każdego prefiksu. Na przykład:
<?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
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no xpaths to evaluate in variable name.
Przykładowy komunikat o błędzie
Error Saving Revision 4
ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
Przykładowy zrzut ekranu

Przyczyna
Jeśli zasady Extract Variables nie zawierają elementu <XPath> w elemencie <XMLPayload>, wdrożenie serwera proxy interfejsu API zakończy się niepowodzeniem i wyświetli się błąd pokazany powyżej.
Diagnostyka
Na podstawie komunikatu o błędzie zidentyfikuj zasadę Wyodrębnij zmienne, która nie działa. Na przykład w tym błędzie nazwa zasady to
Extract-Variables-1:ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.W pliku XML nieudanej zasady Extract Variables sprawdź, czy występuje element
<XMLPayload>bez elementu podrzędnego<XPath>. Jeśli tak, to jest to przyczyna błędu.Oto przykład zasady Extract Variables, która zawiera element
<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>Wdrożenie proxy interfejsu API nie powiedzie się, ponieważ nie ma elementu
<XPath>.
Rozdzielczość
Sprawdź, czy w zasadach Extract Variables (Wyodrębnianie zmiennych) zdefiniowano element <XPath> w elemencie <XMLPayload>. Na przykład:
<?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
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: XPath expression is empty in variable name.
Przykładowy komunikat o błędzie
Error Saving Revision 6
ExtractVariables Extract-Variables-1: XPath expression is empty in variable name.
Przykładowy zrzut ekranu

Przyczyna
Jeśli zasady Extract Variables Policy mają puste wyrażenie <XPath> w elemencie <XMLPayload>, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Diagnostyka
Na podstawie komunikatu o błędzie zidentyfikuj zasadę Wyodrębnij zmienne, która nie działa. Na przykład w tym błędzie nazwa zasady to
Extract-Variables-1:ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.W pliku XML nieudanej zasady Extract Variables sprawdź, czy występuje element
<XMLPayload>z pustym elementem podrzędnym<XPath>. Jeśli tak, to jest to przyczyna błędu.Oto przykład zasady Extract Variables, która zawiera element
<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>W elemencie
<XMLPayload>znajduje się pusty element<XPath>, dlatego wdrożenie serwera proxy interfejsu API nie powiedzie się.
Rozdzielczość
Sprawdź, czy w zasadzie Extract Variables w elemencie <XMLPayload> zdefiniowano niepusty i prawidłowy element <XPath>. Na przykład:
<?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
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no jsonpaths to evaluate in variable name.
Przykładowy komunikat o błędzie
Error Saving Revision 6
ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
Przykładowy zrzut ekranu

Przyczyna
Jeśli zasady Extract Variables nie zawierają elementu <JSONPath> w elemencie <JSONPayload>, wdrożenie serwera proxy interfejsu API zakończy się niepowodzeniem i wyświetli się błąd pokazany powyżej.
Diagnostyka
Na podstawie komunikatu o błędzie zidentyfikuj zasadę Wyodrębnij zmienne, która nie działa. Na przykład w tym błędzie nazwa zasady to
Extract-Variables-1:ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.W pliku XML nieudanej zasady Extract Variables sprawdź, czy występuje element
<JSONPayload>bez wymaganego elementu podrzędnego<JSONPath>. Jeśli tak, to jest to przyczyna błędu.Oto przykład zasady Extract Variables, która zawiera element
<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>Ponieważ w elemencie
<JSONPayload>nie zdefiniowano elementu podrzędnego<JSONPath>, wdrożenie proxy interfejsu API nie powiedzie się.
Rozdzielczość
Sprawdź, czy zasada Extract Variables ma element <JSONPath> zdefiniowany w elemencie <JSONPayload>. Na przykład:
<?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
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: JSONPath expression is empty in variable name.
Przykładowy komunikat o błędzie
Error Saving Revision 6
ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
Przykładowy zrzut ekranu

Przyczyna
Jeśli zasady Extract Variables Policy mają puste wyrażenie <JSONPath> w elemencie <JSONPayload>, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Diagnostyka
Na podstawie komunikatu o błędzie zidentyfikuj zasadę Wyodrębnij zmienne, która nie działa. Na przykład w tym błędzie nazwa zasady to
Extract-Variables-1:ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.W pliku XML nieudanej zasady Extract Variables sprawdź, czy występuje element
<JSONPayload>z pustym elementem podrzędnym<JSONPath>. Jeśli tak, to jest to przyczyna błędu.Oto przykład zasady Extract Variables, która zawiera element
<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>W elemencie
<JSONPayload>znajduje się pusty element<JSONPath>, dlatego wdrożenie serwera proxy interfejsu API nie powiedzie się.
Rozdzielczość
Sprawdź, czy w zasadzie Extract Variables w elemencie <JSONPayload> zdefiniowano niepusty i prawidłowy element <JSONPath>. Na przykład:
<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
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision [revision_number] Error occurred while validation of bean [policy_name].xml Reason: - Required attribute name is missing in [element_name]
Przykładowy komunikat o błędzie
Error Saving Revision 6
Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
Przykładowy zrzut ekranu

Przyczyna
Jeśli zasady Extract Variables nie mają atrybutu name w żadnym z elementów zasad, takich jak QueryParam, Header, FormParam lub Variable, w których jest on wymagany, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Ten błąd występuje na przykład, gdy w elemencie Variable brakuje atrybutu name.
Diagnostyka
Określ nazwę zasady Extract Variables, w której wystąpił błąd, oraz element, w którym brakuje atrybutu
name. Te elementy znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady toExtract-Variables-1, a nazwa elementu toVariable:Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in VariableW pliku XML nieudanej zasady Extract Variables sprawdź, czy wszystkie elementy o nazwie określonej w kroku 1 powyżej mają atrybut
name. Jeśli brakuje atrybutu name w dowolnym elemencie, to jest to przyczyną błędu.Na przykład w zasadach Wyodrębnianie zmiennych zdefiniowano element
<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>Zwróć uwagę, że w elemencie
Variablebrakuje atrybutuname, więc wdrożenie serwera proxy interfejsu API nie powiedzie się.
Rozdzielczość
Sprawdź, czy zasada wyodrębniania zmiennych zawiera wymagany atrybut name dla elementów QueryParam, Header, FormParam lub Variable. Na przykład:
<?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
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision [revision_number] Pattern [pattern] should have at least one variable in ExtractVariables stepDefinition [policy_name]
Przykładowy komunikat o błędzie
Error Saving Revision 7
Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
Przykładowy zrzut ekranu

Przyczyna
Jeśli w elemencie <Pattern> zasady Extract Variables nie określają zmiennej, wdrożenie serwera proxy interfejsu API nie powiedzie się. Element <Pattern> wymaga nazwy zmiennej, w której będą przechowywane wyodrębnione dane.
Diagnostyka
Określ nazwę zasady Extract Variables, w której wystąpił błąd, oraz wzorzec, dla którego brakuje zmiennej. Te elementy znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to
Extract-Variables-1, a nazwa elementu to/a/b:Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.W pliku XML zasady Extract Variables, która nie działa, sprawdź, czy wzorzec ustawiony w elemencie
<Pattern>jest zgodny ze wzorcem zidentyfikowanym w komunikacie o błędzie (krok 1 powyżej). Na przykład te zasady określają wzorzec/a/b, który pasuje do treści komunikatu o błędzie:Oto przykład zasady Extract Variables (Wyodrębnianie zmiennych) z 3 elementami
<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>Sprawdź, czy element
<Pattern>zidentyfikowany w kroku 2 nie zawiera zmiennej. Zmienne muszą być ujęte w nawiasy klamrowe. Jeśli wzorzec nie zawiera zmiennej, to jest to przyczyną błędu.Element
<Pattern>o wzorcu /a/b nie zawiera zmiennej, dlatego wdrożenie serwera proxy interfejsu API nie powiodło się.<Pattern ignoreCase="true">/a/b/</Pattern>
Rozdzielczość
Upewnij się, że wszystkie elementy <Pattern> zawierają zmienną (nazwę ujętą w nawiasy klamrowe). Na przykład:
<?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
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
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].
Przykładowy komunikat o błędzie
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.
Przykładowy zrzut ekranu

Przyczyna
Jeśli zasada Extract Variables ma wyrażenie <XPath>, w którym typ <Variable> jest zdefiniowany jako nodeset, ale wyrażenia nie można przekonwertować na nodeset, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Diagnostyka
Określ zasadę Extract Variables, w której wystąpił błąd, oraz ścieżkę XPath, której nie można przekonwertować na zbiór węzłów. Oba te elementy znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to
Extract-Variables-1, a ścieżka XPath to123.ExtractVariables Extract-Variables-1: Result of xpath 123 cannot be converted to nodeset. Context Revision:4;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.W pliku XML nieudanej zasady Extract Variables sprawdź, czy ścieżka XPath ustawiona w elemencie
<XPath>jest zgodna ze ścieżką XPath podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład te zasady określająjako 123, co odpowiada treści komunikatu o błędzie:<?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>Sprawdź typ elementu
<Variable>odpowiadający elementowi<XPath>zidentyfikowanemu w kroku 2 powyżej. Jeśli typ<Variable>tonodeset, to jest to przyczyną błędu.Zwróć uwagę, że w przykładzie zasady Wyodrębnij zmienne wyrażenie
<XPath>to123.<XPath>123</XPath>Wyrażenia
123nie można przekonwertować na zestaw węzłów. Wdrożenie proxy interfejsu API nie powiedzie się.
Rozdzielczość
Upewnij się, że wyrażenia <XPath> użyte w zasadzie Wyodrębnij zmienne można przekonwertować na zbiór węzłów, jeśli typ <Variable> jest zdefiniowany jako zbiór węzłów. Na przykład:
<?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
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Deploying Revision [revision_number]
Pattern [pattern] is invalid in ExtractVariables stepDefinition [policy_name]
Przykładowy komunikat o błędzie
Error Deploying Revision 18 to test
Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
Przykładowy zrzut ekranu

Przyczyna
Jeśli definicja elementu <Pattern> jest nieprawidłowa w którymkolwiek z elementów, takich jak URIPath, QueryParam, Header, FormParam, XMLPayload lub JSONPayload w zasadach Extract Variables, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Diagnostyka
Na podstawie komunikatu o błędzie zidentyfikuj zasadę Wyodrębnij zmienne, która nie działa. Na przykład w tym błędzie nazwa zasady to
Extract-Variables-2:Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.W pliku XML nieudanej zasady Extract Variables sprawdź, czy występują w nim te elementy, i dodaj element
<Pattern>:URIPath,QueryParam,Header,FormParam,XMLPayloadlubJSONPayload.Oto przykładowa zasada Extract Variables z elementem
<Pattern>w elemencie<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>Sprawdź definicję każdego elementu
<Pattern>. Jeśli występuje element<Pattern>z nieprawidłową definicją, to jest to przyczyną błędu.W przykładzie zasady Extract Variables pokazanym powyżej definicja
<Pattern>w elemencie<QueryParam>jest nieprawidłowa, dlatego wdrożenie serwera proxy interfejsu API nie powiedzie się. Zobacz też:Dopasowywanie i tworzenie zmiennych<Pattern ignoreCase="true">{*}</Pattern>
Rozdzielczość
Sprawdź, czy definicja elementu <Pattern> w elementach URIPath, QueryParam, Header, FormParam, XMLPayload lub JSONPayload w zasadach Wyodrębnianie zmiennych jest prawidłowa. Na przykład:
<?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>
Zobacz też Informacje o dopasowywaniu i tworzeniu zmiennych
XPathCompilationFailed
Komunikat o błędzie
Wdrażanie proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla się ten komunikat o błędzie:
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].
Przykładowy komunikat o błędzie
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.
Przykładowy zrzut ekranu

Przyczyna
Jeśli prefiks lub wartość użyta w elemencie <XPath> nie należy do żadnej z zadeklarowanych przestrzeni nazw w zasadach wyodrębniania zmiennych, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Więcej informacji o przestrzeniach nazw, XPath i prefiksach znajdziesz w artykule XML Namespaces and How They Affect XPath and XSLT (Przestrzenie nazw XML i ich wpływ na XPath i XSLT).
Diagnostyka
Określ zasadę Extract Variables, w której wystąpił błąd, oraz XPath, którego nie można skompilować. Oba te elementy znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to
EV-XML-Age, a xpath to/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.W pliku XML nieudanej zasady Extract Variables sprawdź, czy ścieżka XPath ustawiona w elemencie
<XPath>jest zgodna ze ścieżką XPath podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład te zasady określająjako /apigee:Directions/apigee:route/apigee:leg/apigee:name, co odpowiada treści komunikatu o błędzie:<?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>Sprawdź elementy
<Namespaces>i<XPath>w zasadach dotyczących wyodrębniania zmiennych. Jeśli konkretny element<XPath>wskazany w komunikacie o błędzie używa prefiksu lub wartości, które nie są częścią przestrzeni nazw zadeklarowanych w zasadach Extract Variables, to jest to przyczyną błędu.Zwróć uwagę, że w przykładzie zasad wyodrębniania zmiennych konkretny
<XPath>używa przedrostkaapigee.<XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>Prefiks
apigeenie jest jednak zdefiniowany w żadnym z elementów<Namespace>, dlatego kompilacja<XPath>kończy się niepowodzeniem, co prowadzi do niepowodzenia wdrożenia.
Rozdzielczość
Upewnij się, że wszystkie przestrzenie nazw używane w elementach <XPath> są zadeklarowane w zasadach wyodrębniania zmiennych. Na przykład:
<?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>