Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
NothingToExtract
Pesan error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
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].
Contoh pesan error
Error Saving Revision 2
ExtractVariables EV-XML-Age: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
Contoh screenshot
Penyebab
Jika Kebijakan Ekstrak Variabel tidak memiliki elemen URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
, atau JSONPayload
, deployment Proxy API akan gagal karena tidak ada yang dapat diekstrak.
Seperti yang ditunjukkan dalam pesan error, kebijakan Ekstrak Variabel harus memiliki setidaknya salah satu elemen berikut yang disertakan dalam kebijakan: URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
, atau JSONPayload
.
Diagnosis
Periksa kebijakan Ekstrak Variabel yang dinamai dalam pesan error. Jika kebijakan bahkan tidak memiliki salah satu elemen berikut: URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
, atau JSONPayload
, maka itulah penyebab error. Misalnya, kebijakan Ekstrak Variabel berikut tidak memiliki salah satu elemen yang disebutkan di atas:
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
<DisplayName>EV-XML-Age</DisplayName>
<Properties/>
</ExtractVariables>
Karena tidak satu pun elemen wajib ada dalam kebijakan Extract Variables, deployment proxy API gagal.
Resolusi
Pastikan kebijakan Ekstrak Variabel memiliki setidaknya salah satu elemen wajib berikut: URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
, JSONPayload
. Contoh:
<?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
Pesan error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Non-empty prefix [prefix_name] cannot be mapped to empty uri.
Contoh pesan error
Error Saving Revision 3
ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Contoh screenshot
Penyebab
Error ini terjadi jika Kebijakan Ekstrak Variabel memiliki awalan yang ditentukan dalam elemen <Namespace>
di bawah elemen <XMLPayload>
, tetapi tidak ada URI yang ditentukan.
Diagnosis
Identifikasi kebijakan Ekstrak Variabel tempat error terjadi dan nama awalan. Anda dapat menemukan kedua item ini di pesan error. Misalnya, dalam error berikut , nama kebijakannya adalah
EV-XML-Age
dan awalannya adalahapigee
:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Dalam XML kebijakan Extract Variables yang gagal, pastikan nama awalan yang ditetapkan dalam elemen
<Namespace>
di bawah elemen<XMLPayload>
cocok dengan nama awalan yang diidentifikasi dalam pesan error (langkah #1 di atas). Misalnya, kebijakan berikut menetapkan awalan bernamaapigee
dalam elemen<Namespace>
, yang sesuai dengan isi pesan error:<?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>
Validasi apakah elemen
<Namespace>
dengan awalan tertentu yang diidentifikasi di langkah #2 memiliki URI yang valid. Jika URI tidak ada, berarti itulah penyebab error.Dalam contoh kebijakan Ekstrak Variabel yang ditampilkan di atas, perhatikan bahwa tidak ada URI yang sesuai dengan elemen
<Namespace>
dengan awalanapigee
; Oleh karena itu, Anda akan mendapatkan error:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Resolusi
Pastikan semua elemen <Namespace>
yang ditentukan dengan awalan memiliki URI yang sesuai dalam kebijakan Ekstrak Variabel. Contoh:
<?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
Pesan error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Duplicate prefix [prefix_name].
Contoh pesan error
Error Saving Revision 2
ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Contoh screenshot
Penyebab
Error ini terjadi, jika Kebijakan Ekstrak Variabel memiliki awalan yang sama yang ditentukan lebih dari sekali dalam elemen <Namespace>
di bawah elemen <XMLPayload>
.
Misalnya, error ini terjadi karena awalan apigee
ditentukan dua kali seperti yang ditunjukkan di bawah:
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
Diagnosis
Identifikasi kebijakan Ekstrak Variabel tempat error terjadi dan nama awalan. Anda dapat menemukan kedua item ini di pesan error. Misalnya, dalam error berikut, nama kebijakan adalah
EV-XML-Age
dan awalannya adalahapigee
:ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Dalam XML kebijakan Extract Variables yang gagal, pastikan nama awalan yang ditetapkan dalam elemen
<Namespace>
di bawah elemen<XMLPayload>
cocok dengan nama awalan yang diidentifikasi dalam pesan error (langkah #1 di atas). Misalnya, kebijakan berikut menetapkan awalan bernamaapigee
dalam elemen<Namespace>
, yang sesuai dengan isi pesan error:<?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>
Tentukan apakah elemen
<Namespace>
dengan awalan tertentu, yang diidentifikasi di langkah #2 telah ditentukan lebih dari sekali. Jika ditentukan lebih dari sekali, maka itulah yang menjadi penyebab error.Pada contoh kebijakan Ekstrak Variabel yang ditampilkan di atas, perhatikan bahwa elemen
<Namespace>
dengan awalanapigee
telah ditentukan dua kali; Oleh karena itu, Anda akan mendapatkan error:ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Resolusi
Pastikan hanya ada satu definisi untuk setiap awalan di elemen <Namespace>
dalam kebijakan Ekstrak Variabel. Contoh:
<?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
Pesan error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no xpaths to evaluate in variable name.
Contoh pesan error
Error Saving Revision 4
ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
Contoh screenshot
Penyebab
Jika Kebijakan Extract Variables tidak memiliki elemen <XPath>
dalam elemen <XMLPayload>
, deployment proxy API akan gagal dengan error yang ditampilkan di atas.
Diagnosis
Identifikasi kebijakan Ekstrak Variabel yang gagal dari pesan error. Misalnya, dalam error berikut, nama kebijakannya adalah
Extract-Variables-1
:ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
Dalam XML kebijakan Extract Variables yang gagal, periksa apakah ada elemen
<XMLPayload>
tanpa elemen turunan<XPath>
. Jika ya, maka itulah penyebab error.Misalnya, berikut adalah kebijakan Ekstrak Variabel yang memiliki elemen
<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>
Karena tidak ada elemen
<XPath>
, deployment Proxy API akan gagal.
Resolusi
Pastikan kebijakan Ekstrak Variabel memiliki elemen <XPath>
yang ditentukan di elemen <XMLPayload>
. Contoh:
<?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
Pesan error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: XPath expression is empty in variable name.
Contoh pesan error
Error Saving Revision 6
ExtractVariables Extract-Variables-1: XPath expression is empty in variable name.
Contoh screenshot
Penyebab
Jika Kebijakan Ekstrak Variabel memiliki ekspresi <XPath>
kosong dalam elemen <XMLPayload>
, deployment proxy API akan gagal.
Diagnosis
Identifikasi kebijakan Ekstrak Variabel yang gagal dari pesan error. Misalnya, dalam error berikut, nama kebijakannya adalah
Extract-Variables-1
:ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
Dalam XML kebijakan Extract Variables yang gagal, tentukan apakah ada elemen
<XMLPayload>
dengan elemen turunan<XPath>
kosong. Jika ya, maka itulah penyebab error.Misalnya, berikut adalah kebijakan Ekstrak Variabel yang memiliki elemen
<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>
Karena ada elemen
<XPath>
kosong dalam elemen<XMLPayload>
, deployment Proxy API akan gagal.
Resolusi
Pastikan kebijakan Ekstrak Variabel memiliki elemen <XPath>
yang tidak kosong dan valid yang ditentukan di elemen <XMLPayload>
. Contoh:
<?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
Pesan error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no jsonpaths to evaluate in variable name.
Contoh pesan error
Error Saving Revision 6
ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
Contoh screenshot
Penyebab
Jika Kebijakan Extract Variables tidak memiliki elemen <JSONPath>
dalam elemen <JSONPayload>
, deployment proxy API akan gagal dengan error yang ditampilkan di atas.
Diagnosis
Identifikasi kebijakan Ekstrak Variabel yang gagal dari pesan error. Misalnya, dalam error berikut, nama kebijakannya adalah
Extract-Variables-1
:ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
Dalam XML kebijakan Extract Variables yang gagal, tentukan apakah ada elemen
<JSONPayload>
tanpa elemen turunan<JSONPath>
yang diperlukan. Jika ya, maka itulah penyebab error.Misalnya, berikut adalah kebijakan Ekstrak Variabel yang memiliki elemen
<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>
Karena tidak ada elemen turunan
<JSONPath>
yang ditentukan dalam elemen<JSONPayload>
, deployment Proxy API akan gagal.
Resolusi
Pastikan kebijakan Ekstrak Variabel memiliki elemen <JSONPath>
yang ditentukan di elemen <JSONPayload>
. Contoh:
<?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
Pesan error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: JSONPath expression is empty in variable name.
Contoh pesan error
Error Saving Revision 6
ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
Contoh screenshot
Penyebab
Jika Kebijakan Ekstrak Variabel memiliki ekspresi <JSONPath>
kosong dalam elemen <JSONPayload>
, deployment proxy API akan gagal.
Diagnosis
Identifikasi kebijakan Ekstrak Variabel yang gagal dari pesan error. Misalnya, dalam error berikut, nama kebijakannya adalah
Extract-Variables-1
:ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
Dalam XML kebijakan Extract Variables yang gagal, verifikasi apakah ada elemen
<JSONPayload>
dengan elemen turunan<JSONPath>
yang kosong. Jika ya, maka itulah penyebab error.Misalnya, berikut adalah kebijakan Ekstrak Variabel yang memiliki elemen
<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>
Karena ada elemen
<JSONPath>
kosong dalam elemen<JSONPayload>
, deployment Proxy API akan gagal.
Resolusi
Pastikan kebijakan Ekstrak Variabel memiliki elemen <JSONPath>
yang tidak kosong dan valid yang ditentukan di elemen <JSONPayload>
. Contoh:
<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
Pesan error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
Error Saving Revision [revision_number] Error occurred while validation of bean [policy_name].xml Reason: - Required attribute name is missing in [element_name]
Contoh pesan error
Error Saving Revision 6
Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
Contoh screenshot
Penyebab
Jika Kebijakan Ekstrak Variabel tidak memiliki atribut name
di salah satu elemen kebijakan seperti QueryParam
, Header
, FormParam
, atau Variable
, saat diperlukan, deployment proxy API akan gagal.
Misalnya, error ini terjadi jika atribut name
tidak ada dalam elemen Variable
.
Diagnosis
Identifikasi nama kebijakan Ekstrak Variabel tempat error terjadi dan elemen yang tidak memiliki atribut
name
. Anda dapat menemukan item ini dalam pesan error. Misalnya, dalam error berikut, nama kebijakan adalahExtract-Variables-1
dan nama elemennya adalahVariable
:Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
Dalam XML kebijakan Ekstrak Variabel yang gagal, pastikan semua elemen dengan nama yang ditentukan dari langkah #1 di atas memiliki atribut
name
. Jika ada elemen yang atribut nama tidak ada, maka itulah penyebab error.Misalnya, kebijakan Ekstrak Variabel berikut memiliki elemen
<Variable>
yang ditentukan:<?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>
Perhatikan bahwa atribut
name
tidak ada dalam elemenVariable
, sehingga deployment Proxy API gagal.
Resolusi
Pastikan Kebijakan Ekstrak Variabel berisi atribut name
yang diperlukan, untuk elemen QueryParam
, Header
, FormParam
, atau Variable
. Contoh:
<?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
Pesan error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
Error Saving Revision [revision_number] Pattern [pattern] should have at least one variable in ExtractVariables stepDefinition [policy_name]
Contoh pesan error
Error Saving Revision 7
Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
Contoh screenshot
Penyebab
Jika Kebijakan Ekstrak Variabel tidak memiliki variabel yang ditentukan dalam elemen <Pattern>
, deployment proxy API akan gagal. Elemen <Pattern>
memerlukan nama variabel tempat data yang diekstrak akan disimpan.
Diagnosis
Identifikasi nama kebijakan Ekstrak Variabel tempat kesalahan terjadi dan pola di mana Variabel tidak ada. Anda dapat menemukan item ini dari pesan error. Misalnya, dalam error berikut, nama kebijakan adalah
Extract-Variables-1
dan nama elemennya adalah/a/b
:Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
Dalam XML kebijakan Extract Variables yang gagal, pastikan pola yang ditetapkan dalam elemen
<Pattern>
cocok dengan pola yang diidentifikasi dalam pesan error (langkah #1 di atas). Misalnya, kebijakan berikut menentukan pola/a/b
, yang cocok dengan isi pesan error:Misalnya, berikut adalah kebijakan Ekstrak Variabel yang memiliki tiga elemen
<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>
Periksa apakah elemen
<Pattern>
yang diidentifikasi pada langkah #2 tidak memiliki variabel. Variabel harus diapit dalam tanda kurung kurawal. Jika polanya tidak memiliki variabel, maka yang merupakan penyebab error.Elemen
<Pattern>
yang memiliki pola /a/b tidak menyertakan variabel; Oleh karena itu, deployment Proxy API akan gagal<Pattern ignoreCase="true">/a/b/</Pattern>
Resolusi
Pastikan elemen <Pattern>
menyertakan variabel (nama yang diapit oleh karakter lengkung
kurung kurawal). Contoh:
<?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
Pesan error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
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].
Contoh pesan error
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.
Contoh screenshot
Penyebab
Jika Kebijakan Extract Variables memiliki ekspresi <XPath>
dengan jenis <Variable>
ditentukan sebagai nodeset, tetapi ekspresi tidak dapat dikonversi menjadi nodeset, deployment proxy API akan gagal.
Diagnosis
Mengidentifikasi kebijakan Extract Variables tempat error terjadi dan XPath yang tidak dapat dikonversi ke nodeset. Anda dapat menemukan kedua item ini di pesan error. Misalnya, dalam error berikut , nama kebijakannya adalah
Extract-Variables-1
dan XPath adalah123
.ExtractVariables Extract-Variables-1: Result of xpath 123 cannot be converted to nodeset. Context Revision:4;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.
Dalam XML kebijakan Extract Variables yang gagal, verifikasi bahwa XPath yang ditetapkan dalam elemen
<XPath>
cocok dengan XPath yang diidentifikasi dalam pesan error (langkah #1 di atas). Misalnya, kebijakan berikut menetapkansebagai 123
, yang cocok dengan isi pesan error:<?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>
Periksa jenis elemen
<Variable>
yang sesuai dengan<XPath>
yang diidentifikasi pada langkah #2 di atas. Jika jenis<Variable>
adalahnodeset
, maka itulah penyebab error.Perhatikan bahwa ekspresi
<XPath>
adalah123
dalam contoh kebijakan Ekstrak Variabel.<XPath>123</XPath>
Ekspresi
123
tidak dapat dikonversi ke nodeset. Jadi, deployment Proxy API akan gagal.
Resolusi
Pastikan ekspresi <XPath>
yang digunakan dalam kebijakan Ekstrak Variabel dapat dikonversi ke nodeset jika jenis <Variable>
ditetapkan sebagai nodeset. Contoh:
<?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
Pesan error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
Error Deploying Revision [revision_number]
Pattern [pattern] is invalid in ExtractVariables stepDefinition [policy_name]
Contoh pesan error
Error Deploying Revision 18 to test
Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
Contoh screenshot
Penyebab
Jika definisi elemen <Pattern>
tidak valid di salah satu elemen seperti URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
, atau JSONPayload
dalam Kebijakan Ekstrak Variabel, deployment proxy API akan gagal.
Diagnosis
Identifikasi kebijakan Ekstrak Variabel yang gagal dari pesan error. Misalnya, dalam error berikut, nama kebijakannya adalah
Extract-Variables-2
:Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
Dalam XML kebijakan Extract Variables yang gagal, periksa apakah salah satu elemen berikut ada dan sertakan elemen
<Pattern>
:URIPath
,QueryParam
,Header
,FormParam
,XMLPayload
atauJSONPayload
.Sebagai contoh, berikut adalah contoh kebijakan Mengekstrak Variabel dengan elemen
<Pattern>
dalam elemen<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>
Periksa definisi setiap elemen
<Pattern>
. Jika ada elemen<Pattern>
dengan definisi yang tidak valid, maka itulah penyebab error.Dalam contoh kebijakan Ekstrak Variabel yang ditampilkan di atas, perhatikan bahwa definisi
<Pattern>
dalam elemen<QueryParam>
tidak valid; oleh karena itu, deployment Proxy API akan gagal. Lihat juga Tentang pencocokan dan pembuatan variabel<Pattern ignoreCase="true">{*}</Pattern>
Resolusi
Pastikan definisi elemen <Pattern>
dalam elemen URIPath
, QueryParam
, Header
, FormParam
, XMLPayload
, atau JSONPayload
di kebijakan Ekstrak Variabel sudah valid. Contoh:
<?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>
Lihat juga Tentang pencocokan dan pembuatan variabel
XPathCompilationFailed
Pesan error
Penyebaran proxy API melalui UI Edge atau API pengelolaan Edge gagal dengan pesan {i>error<i} ini:
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].
Contoh pesan error
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.
Contoh screenshot
Penyebab
Jika awalan atau nilai yang digunakan dalam elemen <XPath>
bukan bagian dari namespace yang dideklarasikan di Kebijakan Ekstrak Variabel, deployment proxy API akan gagal.
Anda dapat menemukan informasi selengkapnya tentang namespace, XPath, dan awalan di Namespace XML dan Bagaimana Memengaruhi XPath dan XSLT.
Diagnosis
Identifikasi kebijakan Extract Variables tempat error terjadi dan XPath yang tidak dapat dikompilasi. Anda dapat menemukan kedua item ini di pesan error. Misalnya, dalam error berikut , nama kebijakannya adalah
EV-XML-Age
dan xpath-nya adalah/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.
Dalam XML kebijakan Extract Variables yang gagal, verifikasi bahwa XPath yang ditetapkan dalam elemen
<XPath>
cocok dengan XPath yang diidentifikasi dalam pesan error (langkah #1 di atas). Misalnya, kebijakan berikut menetapkansebagai /apigee:Directions/apigee:route/apigee:leg/apigee:name
, yang cocok dengan isi pesan error:<?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>
Periksa elemen
<Namespaces>
dan<XPath>
di kebijakan Ekstrak Variabel. Jika<XPath>
spesifik yang ditunjukkan dalam pesan error menggunakan awalan atau nilai yang bukan bagian dari namespace yang dideklarasikan dalam kebijakan Ekstrak Variabel, maka itulah penyebab error.Perhatikan bahwa
<XPath>
tertentu menggunakan awalanapigee
dalam contoh kebijakan Ekstrak Variabel.<XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>
Namun, awalan
apigee
tidak didefinisikan dalam elemen<Namespace>
apa pun; sehingga kompilasi<XPath>
gagal yang menyebabkan kegagalan deployment.
Resolusi
Pastikan semua namespace yang digunakan dalam elemen <XPath>
dideklarasikan di Kebijakan Ekstrak Variabel. Contoh:
<?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>