Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
NothingToExtract
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się 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 zasada wyodrębniania zmiennych nie zawiera żadnego elementu URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
ani JSONPayload
, wdrożenie serwera proxy interfejsu API nie powiedzie się, ponieważ nie ma niczego do wyodrębnienia.
Jak wskazano w komunikacie o błędzie, zasada Wyodrębnianie zmiennych musi zawierać co najmniej 1 z tych elementów: URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
lub JSONPayload
.
Diagnostyka
Sprawdź zasadę wyodrębniania zmiennych określoną w komunikacie o błędzie. Jeśli zasada nie zawiera nawet jednego z tych elementów: URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
lub JSONPayload
, to jest przyczyną błędu. Na przykład zasada Wyodrębnianie zmiennych nie zawiera żadnego z wymienionych wyżej elementów:
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
<DisplayName>EV-XML-Age</DisplayName>
<Properties/>
</ExtractVariables>
Ponieważ w zasadzie wyodrębniania zmiennych nie ma żadnych obowiązkowych elementów, wdrożenie serwera proxy interfejsu API się nie uda.
Rozdzielczość
Upewnij się, że zasada Wyodrębnianie zmiennych zawiera co najmniej 1 z tych obowiązkowych elementów: URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
i 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
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się 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 wyodrębniania zmiennych ma prefiks w elemencie <Namespace>
w elemencie <XMLPayload>
, ale nie określono identyfikatora URI.
Diagnostyka
Wskaż zasadę wyodrębniania zmiennych, w której wystąpił błąd, i podaj 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 zasady wyodrębniania zmiennych sprawdź, czy nazwa prefiksu ustawionego w elemencie
<Namespace>
w elemencie<XMLPayload>
odpowiada nazwie prefiksu określonej w komunikacie o błędzie (krok 1 powyżej). Na przykład ta zasada określa prefiks o nazwieapigee
w elemencie<Namespace>
zgodnym z 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="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 prefiksem określonym w kroku 2 ma prawidłowy identyfikator URI. Jeśli brakuje identyfikatora URI, to jest on przyczyną błędu.Zwróć uwagę na przykładową zasadę „Wyodrębnianie zmiennych” widoczną powyżej, że elementowi
<Namespace>
z prefiksemapigee
nie ma identyfikatora URI. w związku z tym pojawia się błąd:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Rozdzielczość
Upewnij się, że wszystkie elementy <Namespace>
zdefiniowane za pomocą prefiksu mają odpowiedni identyfikator URI w zasadzie Wyodrębnianie zmiennych. Na przykład:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError=>"<;false">; enabled=<"true&q>uot; <name="EV-XML-Age">
Di<splayNa>meEV-<XML-Age/DisplayName
Source clearPayl>oad=&<quot;false>"req<uest/Source
XMLPayloa>d stopPayloadProcessi<ng="f>alse"<;
Namespaces
> Namespace prefix=&quo<t;apigee&q>uot;ht<tp://www.ap>igee.<com/Namespace
Namespace prefi>x="g<mail&>quot;http://mail.google.com/Namespace
/Namespaces<
V>ariab<le name=&>quot;<legName&quo>t<; type="stri>n
g"
XPath/apigee:Directions/apigee:route/apigee:leg/apigee:name/Xpath
/Variable
/XMLPayload
/ExtractVariables
DuplicatePrefix
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się 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 zasada wyodrębniania zmiennych ma ten sam prefiks zdefiniowany więcej niż raz w elemencie <Namespace>
w elemencie <XMLPayload>
.
Na przykład ten błąd występuje, ponieważ prefiks apigee
jest zdefiniowany dwukrotnie, jak poniżej:
<Namespace prefix="ap>igee"http://www.<apigee.com>/<Namespace
Namespace prefi>x="apigee"h<ttp://www.>a
pigee.com/Namespace
Diagnostyka
Wskaż zasadę wyodrębniania zmiennych, w której wystąpił błąd, i podaj 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 zasady wyodrębniania zmiennych sprawdź, czy nazwa prefiksu ustawionego w elemencie
<Namespace>
w elemencie<XMLPayload>
odpowiada nazwie prefiksu określonej w komunikacie o błędzie (krok 1 powyżej). Na przykład ta zasada określa prefiks o nazwieapigee
w elemencie<Namespace>
zgodnym z treścią komunikatu o błędzie:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVariables async="false" continueOnError=>"<;false">; enabled=<"true&q>uot; <name="EV-XML-Age"> Di<splayNa>meEV-<XML-Age/DisplayName Source clearPayl>oad=&qu<ot;false&q>uot;request</Source XMLPayload s>topPayloadProcessing=&<quot;false>" < Namespaces Na>mespace prefix="<gmail">;http://mai<l.google.com/Namespace > Namespace pre<fix=">apigee&<quot;http:/>/www.ap<igee.com/Namespace Namespace prefix=&<quot;>apigee"http://www.apigee.com/Namespace /Nam<espace>s < Variable> name<="legN>ame<" type=">;
string XPath/apigee:Directions/apigee:route/apigee:leg/apigee:name/XPath /Variable /XMLPayload /ExtractVariablesSprawdź, czy element
<Namespace>
z określonym prefiksem określonym w kroku 2 został zdefiniowany więcej niż raz. Jeśli jest zdefiniowane więcej niż raz, to właśnie jest przyczyną błędu.W podanej wyżej przykładowej zasadzie wyodrębniania zmiennych zauważ, że element
<Namespace>
z prefiksemapigee
został zdefiniowany dwukrotnie. w związku z tym pojawia się błąd:ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Rozdzielczość
Upewnij się, że dla każdego prefiksu w elementach <Namespace>
w zasadzie Wyodrębnianie zmiennych występuje tylko 1 definicja. Na przykład:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError=>"<;false">; enabled=<"true&q>uot; <name="EV-XML-Age">
Di<splayNa>meEV-<XML-Age/DisplayName
Source clearPayl>oad=&qu<ot;false&q>uot;request</Source
XMLPayload st>opPayloadProcessing=&<quot;false>"
< Namespaces
N>amespace prefix="<apigee&quo>t;http:<//www.apige>e.com/N<amespace
Namespace prefix=&>quot;gmail&<quot;>http://mail.google.com/Namespace
/Namespaces
< Var>iable n<ame=">;legN<ame" t>y<pe="string&q>u
ot;
XPath/apigee:Directions/apigee:route/apigee:leg/apigee:name/Xpath
/Variable
/XMLPayload
/ExtractVariables
NoXPathsToEvaluate
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się 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 zasada wyodrębniania zmiennych nie zawiera elementu <XPath>
w elemencie <XMLPayload>
, wdrożenie serwera proxy interfejsu API nie powiedzie się z powodu powyższego błędu.
Diagnostyka
Zidentyfikuj błędną zasadę wyodrębniania zmiennych z komunikatu o błędzie. 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 zasady wyodrębniania zmiennych sprawdź, czy jest w nim element
<XMLPayload>
bez elementu podrzędnego<XPath>
. Jeśli tak, to to jest przyczyną błędu.Oto przykładowa zasada Wyodrębnianie zmiennych, która zawiera element
<XMLPayload>
:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t; DisplayNameExtract V>ariable<s-1/Dis>playN<ame Proper>ties/ < Source clea>rPayl<oad="false"request/Source >VariableP<refixapigee>/Variable<Prefix XMLPayload stopPayloadProcessing=>"fal<se"<>/span> < Namespac>e<s/ Variab>l
e name="HostReachable" type="boolean" /Variable /XMLPayload /ExtractVariablesBrak elementu
<XPath>
, dlatego nie udało się wdrożyć proxy interfejsu API.
Rozdzielczość
Upewnij się, że zasada Wyodrębnianie zmiennych zawiera element <XPath>
zdefiniowany w elemencie <XMLPayload>
. Na przykład:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
DisplayNameExtract V>ariable<s-1/Dis>playN<ame
Proper>ties/
< Source clea>rPayl<oad="false"request/Source
>VariableP<refixapigee>/Variable<Prefix
XMLPayload stopPayloadProcessing=>"false&q<uot;<>/span>
Name<spaces>/
< Variable> name<="Host>R<eachable" ty>p
e="boolean"
XPath/isReachable/XPath
/Variable
/XMLPayload
/ExtractVariables
EmptyXPathExpression
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się 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 zasada wyodrębniania zmiennych zawiera w elemencie <XMLPayload>
puste wyrażenie <XPath>
, nie można wdrożyć serwera proxy interfejsu API.
Diagnostyka
Zidentyfikuj błędną zasadę wyodrębniania zmiennych z komunikatu o błędzie. 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 zasady wyodrębniania zmiennych sprawdź, czy znajduje się element
<XMLPayload>
z pustym elementem podrzędnym<XPath>
. Jeśli tak, to to jest przyczyną błędu.Oto przykładowa zasada Wyodrębnianie zmiennych, która zawiera element
<XMLPayload>
:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t; DisplayNameExtract V>ariable<s-1/Dis>playN<ame Proper>ties/ < Source clea>rPayl<oad="false"request/Source >VariableP<refixapigee>/Variable<Prefix XMLPayload stopPayloadProc>essing="<false><"> <Namespace>s/ < Varia>b<le name="add>r
ess" type="string" XPath/XPath /Variable /XMLPayload /ExtractVariablesElement
<XMLPayload>
zawiera pusty element<XPath>
, dlatego nie udało się wdrożyć serwera proxy interfejsu API.
Rozdzielczość
Sprawdź, czy zasada Wyodrębnianie zmiennych zawiera niepusty i prawidłowy element <XPath>
zdefiniowany w elemencie <XMLPayload>
. Na przykład:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
DisplayNameExtract V>ariable<s-1/Dis>playN<ame
Proper>ties/
< Source clea>rPayl<oad="false"request/Source
>VariableP<refixapigee>/Variable<Prefix
XMLPayload stopPayloadProc>essing="<false>"
< > Namespac<es/
> Va<riable name>=<"address&quo>t
; type="string"
XPath/address/XPath
/Variable
/XMLPayload
/ExtractVariables
NoJSONPathsToEvaluate
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się 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 zasada wyodrębniania zmiennych nie zawiera elementu <JSONPath>
w elemencie <JSONPayload>
, wdrożenie serwera proxy interfejsu API nie powiedzie się z powodu powyższego błędu.
Diagnostyka
Zidentyfikuj błędną zasadę wyodrębniania zmiennych z komunikatu o błędzie. 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 nieprawidłowym kodzie XML zasady wyodrębniania zmiennych sprawdź, czy istnieje element
<JSONPayload>
bez wymaganego elementu podrzędnego<JSONPath>
. Jeśli tak, to to jest przyczyną błędu.Oto przykładowa zasada Wyodrębnianie zmiennych, która zawiera element
<JSONPayload>
:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t; Disp>layNameEx<tract Variables-1/Dis>playName < Prope>rties</ JSONPa>yload< Variable name=&quo>t;title<"<>/span> < /Variable > /JS<ONPayload S>o<urce clearPayload>=
"false"request/Source VariablePrefixapigee/VariablePrefix /ExtractVariablesW elemencie
<JSONPayload>
nie ma zdefiniowanego elementu podrzędnego<JSONPath>
, dlatego wdrożenie serwera proxy interfejsu API się nie uda.
Rozdzielczość
Upewnij się, że zasada Wyodrębnianie zmiennych zawiera element <JSONPath>
zdefiniowany w elemencie <JSONPayload>
. Na przykład:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
Disp>layNameEx<tract Variables-1/Dis>playName
<Properti>es/
JSON<Payload
> Va<riable na>me=&q<uot;title&qu>ot;
< JSONPath$.book.t>itle/JS<ONPath<>/span>
< /Variable
> /JS<ONPayload
S>o<urce clearPayload>=
"false"request/Source
VariablePrefixapigee/VariablePrefix
/ExtractVariables
EmptyJSONPathExpression
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się 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 zasada wyodrębniania zmiennych zawiera w elemencie <JSONPayload>
puste wyrażenie <JSONPath>
, nie można wdrożyć serwera proxy interfejsu API.
Diagnostyka
Zidentyfikuj błędną zasadę wyodrębniania zmiennych z komunikatu o błędzie. 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 zasady wyodrębniania zmiennych sprawdź, czy jest tam element
<JSONPayload>
z pustym elementem podrzędnym<JSONPath>
. Jeśli tak, to to jest przyczyną błędu.Oto przykładowa zasada Wyodrębnianie zmiennych, która zawiera element
<JSONPayload>
:<ExtractVariables async="false" continueOnError="false" enabled="true&qu>ot; name=<"Extra>ct-Variables-1"<; Di>splayName<Extract Var>iables-1/<DisplayName> Prop<erties/ JSONPayload Varia>ble name="ac<count_nu><mber">; type="<integer&q>uot; < >JSONPath/<JSONPath /Varia>ble < /J>SONPayloa<d Sour>ce cle<arPayload=">;fals<e"request/So>u
rce VariablePrefixapigee/VariablePrefix /ExtractVariablesElement
<JSONPayload>
zawiera pusty element<JSONPath>
, dlatego nie udało się wdrożyć serwera proxy interfejsu API.
Rozdzielczość
Sprawdź, czy zasada Wyodrębnianie zmiennych zawiera niepusty i prawidłowy element <JSONPath>
zdefiniowany w elemencie <JSONPayload>
. Na przykład:
<ExtractVariables async="false" continueOnError="false" enabled="true&qu>ot; n<ame="E>xtract-Variables-1&<quot;
Di>splay<NameExtract> Vari<ables-1/Dis>playName
< Properties/
JSONPayload
Varia>ble name=&qu<ot;accou>nt_number" <type=&quo>t;integer<"
> < JSONPath>$.acc<ount.number/JSONPath
> /Vari<able
> /JS<ONPayload
>Source< clearPayload=&>q<uot;false"re>q
uest/Source
VariablePrefixapigee/VariablePrefix
/ExtractVariables
MissingName
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się 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 zasada wyodrębniania zmiennych nie zawiera atrybutu name
w żadnym elemencie zasad, takim jak QueryParam
, Header
, FormParam
czy Variable
, jeśli jest on wymagany, wdrożenie serwera proxy interfejsu API się nie uda.
Ten błąd występuje na przykład wtedy, gdy w elemencie Variable
brakuje atrybutu name
.
Diagnostyka
Wskaż nazwę zasady wyodrębniania zmiennych, w której wystąpił błąd, i elementu, 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 Variable
W pliku XML zasady wyodrębniania zmiennych sprawdź, czy wszystkie elementy o nazwie określonej na podstawie kroku 1 powyżej mają atrybut
name
. Jeśli brak jest w jakimś elemencie atrybutu name, to właśnie on jest przyczyną błędu.Na przykład ta zasada Wyodrębnianie zmiennych zawiera zdefiniowany element
<Variable>
:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t; DisplayNameExtra>ct Variab<les-1/D>isplayName Pr<operties>/ < Variable> <type="boolea>n
" Pattern{isAccountActive}/Pattern /Variable /ExtractVariablesZwróć uwagę, że w elemencie
Variable
brakuje atrybutuname
, więc wdrożenie serwera proxy interfejsu API się nie uda.
Rozdzielczość
Upewnij się, że zasada wyodrębniania zmiennych zawiera wymagany atrybut name
w przypadku elementów QueryParam
, Header
, FormParam
lub Variable
. Na przykład:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
DisplayNameExtract Variables-1/Display>Name
<Propert>ies/
Variable< name=&q>uot;a<ccount_ac>t<ive" type=&q>u
ot;boolean"
Pattern{isAccountActive}/Pattern
/Variable
/ExtractVariables
PatternWithoutVariable
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się 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 zasada wyodrębniania zmiennych nie zawiera zmiennej określonej w elemencie <Pattern>
, nie można wdrożyć serwera proxy interfejsu API. Element <Pattern>
wymaga nazwy zmiennej, w której będą przechowywane wyodrębnione dane.
Diagnostyka
Wskaż nazwę zasady wyodrębniania zmiennych, 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 wyodrębniania zmiennych sprawdź, czy wzorzec ustawiony w elemencie
<Pattern>
jest zgodny ze wzorcem określonym w komunikacie o błędzie (krok 1 powyżej). Na przykład ta zasada określa wzorzec/a/b
, który pasuje do tekstu z komunikatu o błędzie:Oto np. zasada Wyodrębnianie zmiennych, która zawiera 3 elementy
<Pattern>
:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVaria>bles< name=>"E<xtractV>aria<bles-1&>quot; < Sourcerequest/Source > URIPath < Patte>rn igno<reCase="true"/a>/{pat<hSeg}/Pa>ttern < Pattern ignoreCase=&>quot;true"/<a/b//Pat>tern< P>atte<rn ignoreCase=>"true<"/a/b/c/{p>a<thSeg}/Pattern >
/URIPath VariablePrefixurirequest/VariablePrefix /ExtractVariablesSprawdź, czy element
<Pattern>
wskazany w kroku 2 nie zawiera zmiennej. Zmienne musi być ujęta w nawiasy klamrowe. Jeśli wzór nie ma zmiennej, który jest przyczyną błędu.Element
<Pattern>
z wzorcem /a/b nie zawiera zmiennej. w związku z tym wdrożenie serwera proxy interfejsu API się nie uda<Pattern ignoreCase=">true&<quot;/a/>b/
/Pattern
Rozdzielczość
Sprawdź, czy wszystkie elementy <Pattern>
zawierają zmienną (nazwę zawartą w klatce klamrowej
nawiasy klamrowe). Na przykład:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVaria>bles< name=>"E<xtractV>aria<bles-1&>quot;
< Sourcerequest/Source
> URIPath
< Patte>rn igno<reCase="true"/a>/{pathSeg}/Pat<tern
> Patt<ern ignoreCase="true>"/a/b/{path<Seg}/Pat>tern<
P>atte<rn ignoreCase=>"true<"/a/b/c/{p>a<thSeg}/Pattern
>
/URIPath
VariablePrefixurirequest/VariablePrefix
/ExtractVariables
CannotBeConvertedToNodeset
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się 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 wyodrębniania zmiennych zawiera wyrażenie <XPath>
, w którym typ <Variable>
jest zdefiniowany jako nodeset, ale nie można go przekonwertować na zbiór węzłów, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
Zidentyfikuj zasadę wyodrębniania zmiennych, w której wystąpił błąd, oraz wskaż ś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 poniższym błędzie nazwa zasady to
Extract-Variables-1
, a 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 zasady wyodrębniania zmiennych sprawdź, czy ścieżka XPath ustawiona w elemencie
<XPath>
jest zgodna z ścieżką XPath podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład ta zasada określajako 123
, co odpowiada treści komunikatu o błędzie:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t; DisplayNameExtract V>ariable<s-1/Dis>playN<ame Proper>ties/ < Source clear>Paylo<ad="false"request/Source V>ariablePr<efixvisitor>/Variable<Prefix XMLPayload stopPayloadP>rocessing=&qu<ot;fa>lse<"> <Namespace>s/ < Varia>b<le name="age>&
quot; type="nodeset" XPath123/XPath /Variable /XMLPayload /ExtractVariablesSprawdź typ elementu
<Variable>
odpowiadający atrybutowi<XPath>
wymienionemu w kroku 2 powyżej. Jeśli typ<Variable>
tonodeset
, to jest przyczyną błędu.Zwróć uwagę, że wyrażenie
<XPath>
w przykładowej zasadzie wyodrębniania zmiennych ma wartość123
.<XPath>123</XPath>
Wyrażenie
123
nie może zostać przekonwertowane na zbiór węzłów. Z tego powodu wdrożenie serwera proxy interfejsu API się nie udaje.
Rozdzielczość
Sprawdź, czy wyrażenia <XPath>
używane w zasadzie wyodrębniania zmiennych mogą zostać przekonwertowane 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&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
DisplayNameExtract V>ariable<s-1/Dis>playN<ame
Proper>ties/
< Source clear>Paylo<ad="false"request/Source
V>ariablePr<efixvisitor>/Variable<Prefix
XMLPayload stopPayloadP>rocessing=&qu<ot;fa>lse"
< >Namespace<s/
> Var<iable name=>&<quot;age" ty>p
e="nodeset"
XPath/visitor/age/XPath
/Variable
/XMLPayload
/ExtractVariables
InvalidPattern
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się 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 ramach zasady wyodrębniania zmiennych, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
Zidentyfikuj niedziałającą zasadę wyodrębniania zmiennych z komunikatu o błędzie. Na przykład w tym błędzie nazwa zasady to
Extract-Variables-2
:Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
W pliku XML zasady wyodrębniania zmiennych sprawdź, czy występuje któryś z tych elementów i dołącz element
<Pattern>
:URIPath
,QueryParam
,Header
,FormParam
,XMLPayload
lubJSONPayload
.Oto przykładowa zasada Wyodrębnianie zmiennych z elementem
<Pattern>
w elemencie<QueryParam>
:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVaria>bles <name=">ExtractVariables-2<" D>ispla<yNameE>xtractV<ariable>s-2/D<isplayName Sourcer>equest/So<urce QueryParam name=>&qu<ot;code&>quot;< Pa>ttern< ignoreCase=&q>uot;true&<quot;{*}/Patter>n< /QueryParam >
VariablePrefixqueryinfo/VariablePrefix /ExtractVariablesSprawdź definicję każdego z elementów
<Pattern>
. Jeśli element<Pattern>
ma nieprawidłową definicję, to to jest przyczyną błędu.Zwróć uwagę na przykładową zasadę wyodrębniania zmiennych w widocznym powyżej przykładzie, że definicja
<Pattern>
w elemencie<QueryParam>
jest nieprawidłowa. w związku z tym wdrożenie serwera proxy interfejsu API się nie uda. Zobacz też Informacje o dopasowywaniu i tworzeniu zmiennych<Pattern ignoreCase=">tru<e"{>*}
/Pattern
Rozdzielczość
Upewnij się, że definicja elementu <Pattern>
w elementach URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
lub JSONPayload
w zasadzie Wyodrębnianie zmiennych jest prawidłowa. Na przykład:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVaria>bles <name=">ExtractVariables-2"
DisplayNa<meExtract a >value< from >a query< parame>ter/D<isplayName
Sourcer>equest/So<urce
QueryParam name=>"<code&quo>t;
< Patte>rn ig<noreCase=">;true&quo<t;{code}/Patter>n<
/QueryParam
>
VariablePrefixqueryinfo/VariablePrefix
/ExtractVariables
Przeczytaj też Informacje o dopasowywaniu i tworzeniu zmiennych.
XPathCompilationFailed
Komunikat o błędzie
Nie udało się wdrożyć serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API z tym komunikatem 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żywana w elemencie <XPath>
nie należy do żadnej z zadeklarowanych przestrzeni nazw w zasadzie wyodrębniania zmiennych, wdrożenie serwera proxy interfejsu API się nie uda.
Więcej informacji o przestrzeniach nazw, ścieżce XPath i prefiksach znajdziesz w artykule Przestrzenie nazw XML i ich wpływ na XPath i CSS.
Diagnostyka
Określ zasadę wyodrębniania zmiennych, w której wystąpił błąd, oraz wskaż ścieżkę XPath, której nie udało się skompilować. Oba te elementy znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to
EV-XML-Age
, a parametr 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 zasady wyodrębniania zmiennych sprawdź, czy ścieżka XPath ustawiona w elemencie
<XPath>
jest zgodna z ścieżką XPath podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład ta zasada określajako /apigee:Directions/apigee:route/apigee:leg/apigee:name
, co odpowiada treści komunikatu o błędzie:<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? ExtractVariables async="false" continueOnError=>&qu<ot;false&qu>ot; enable<d="true>&qu<ot; name="EV-XML-Age&q>uot; <Display>Nam<eEV-XML-Age/DisplayName Source clearPa>yload<="fal>se"r<equest/Source XMLPaylo>ad stopPayloadProcessi<ng="f>alse&<quot; N>amesp<aces Namespace prefix="g>mail&<quot;>http://mail.google.com/Namespace /Namespaces V<ariabl>e name=&q<uot;legNa>me&<quot; type=>&<quot;string">
XPath/apigee:Directions/apigee:route/apigee:leg/apigee:name/XPath /Variable /XMLPayload /ExtractVariablesSprawdź elementy
<Namespaces>
i<XPath>
w zasadzie Wyodrębnianie zmiennych. Jeśli konkretna właściwość<XPath>
wskazana w komunikacie o błędzie używa prefiksu lub wartości, która nie jest częścią przestrzeni nazw zadeklarowanych w zasadzie wyodrębniania zmiennych, to jest przyczyną błędu.Zwróć uwagę, że określona wartość
<XPath>
używa prefiksuapigee
w przykładowej zasadzie wyodrębniania zmiennych.<XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>
Jednak prefiks
apigee
nie jest zdefiniowany w żadnym z elementów<Namespace>
; w związku z tym kompilacja obiektu<XPath>
nie uda się i nie uda się wdrożyć.
Rozdzielczość
Sprawdź, czy wszystkie przestrzenie nazw używane w elementach <XPath>
są zadeklarowane w zasadzie wyodrębniania zmiennych. Na przykład:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError=>&qu<ot;false&qu>ot; enable<d="true>&qu<ot; name="EV-XML-Age&q>uot;
<Display>Nam<eEV-XML-Age/DisplayName
Source clearPa>yload<="fal>se"r<equest/Source
XMLPayloa>d stopPayloadProcessi<ng="f>alse"<;
Namespaces
> Namespace prefix=&quo<t;apigee&q>uot;h<ttp://www.a>pigee<.com/Namespace
Namespace pref>ix="<gmail>"http://mail.google.com/Namespace
/Namespaces<
V>ariab<le name=&>quo<t;legName&q>u<ot; type="st>r
ing"
XPath/apigee:Directions/apigee:route/apigee:leg/apigee:name/XPath
/Variable
/XMLPayload
/ExtractVariables