Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
NothingToExtract
Thông báo lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện thông báo lỗi sau:
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].
Ví dụ về thông báo lỗi
Error Saving Revision 2
ExtractVariables EV-XML-Age: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
Ảnh chụp màn hình ví dụ

Nguyên nhân
Nếu Chính sách trích xuất biến không có bất kỳ phần tử nào trong số URIPath, QueryParam, Header, FormParam, XMLPayload hoặc JSONPayload, thì việc triển khai API Proxy sẽ không thành công vì không có gì để trích xuất.
Như được chỉ ra trong thông báo lỗi, chính sách Trích xuất biến phải có ít nhất một trong các phần tử sau trong chính sách: URIPath, QueryParam, Header, FormParam, XMLPayload hoặc JSONPayload.
Chẩn đoán
Kiểm tra chính sách Trích xuất biến có tên trong thông báo lỗi. Nếu chính sách không có ít nhất một trong các phần tử sau: URIPath, QueryParam, Header, FormParam, XMLPayload hoặc JSONPayload, thì đó là nguyên nhân gây ra lỗi. Ví dụ: chính sách Trích xuất biến sau đây không có bất kỳ phần tử nào được đề cập ở trên:
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
<DisplayName>EV-XML-Age</DisplayName>
<Properties/>
</ExtractVariables>
Vì không có phần tử bắt buộc nào trong chính sách Trích xuất biến, nên việc triển khai proxy API sẽ không thành công.
Độ phân giải
Đảm bảo rằng chính sách Trích xuất biến có ít nhất một trong các phần tử bắt buộc sau: URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload. Ví dụ:
<?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
Thông báo lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện thông báo lỗi sau:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Non-empty prefix [prefix_name] cannot be mapped to empty uri.
Ví dụ về thông báo lỗi
Error Saving Revision 3
ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Ảnh chụp màn hình ví dụ

Nguyên nhân
Lỗi này xảy ra nếu Chính sách trích xuất biến có một tiền tố được xác định trong phần tử <Namespace> trong phần tử <XMLPayload>, nhưng không có URI nào được xác định.
Chẩn đoán
Xác định chính sách Trích xuất biến nơi xảy ra lỗi và tên của tiền tố. Bạn có thể tìm thấy cả hai mục này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách là
EV-XML-Agevà tiền tố làapigee:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.Trong XML của chính sách Extract Variables (Trích xuất biến) không thành công, hãy xác minh rằng tên của tiền tố được đặt trong phần tử
<Namespace>trong phần tử<XMLPayload>khớp với tên tiền tố được xác định trong thông báo lỗi (bước 1 ở trên). Ví dụ: chính sách sau đây chỉ định một tiền tố có tên làapigeetrong phần tử<Namespace>, khớp với nội dung trong thông báo lỗi:<?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>Xác thực xem phần tử
<Namespace>có tiền tố cụ thể được xác định ở bước 2 có URI hợp lệ hay không. Nếu thiếu URI, thì đó là nguyên nhân gây ra lỗi.Trong ví dụ về chính sách Trích xuất biến ở trên, hãy lưu ý rằng không có URI nào tương ứng với phần tử
<Namespace>có tiền tốapigee; do đó, bạn sẽ gặp lỗi:ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
Độ phân giải
Đảm bảo rằng tất cả các phần tử <Namespace> được xác định bằng tiền tố đều có một URI tương ứng trong chính sách Trích xuất biến. Ví dụ:
<?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
Thông báo lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện thông báo lỗi sau:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: Duplicate prefix [prefix_name].
Ví dụ về thông báo lỗi
Error Saving Revision 2
ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Ảnh chụp màn hình ví dụ

Nguyên nhân
Lỗi này xảy ra nếu Chính sách trích xuất biến có cùng tiền tố được xác định nhiều lần trong phần tử <Namespace> trong phần tử <XMLPayload>.
Ví dụ: lỗi này xảy ra vì tiền tố apigee được xác định hai lần như minh hoạ dưới đây:
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>
Chẩn đoán
Xác định chính sách Trích xuất biến nơi xảy ra lỗi và tên của tiền tố. Bạn có thể tìm thấy cả hai mục này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách là
EV-XML-Agevà tiền tố làapigee:ExtractVariables EV-XML-Age: Duplicate prefix apigee.Trong XML của chính sách Extract Variables (Trích xuất biến) không thành công, hãy xác minh rằng tên của tiền tố được đặt trong phần tử
<Namespace>trong phần tử<XMLPayload>khớp với tên tiền tố được xác định trong thông báo lỗi (bước 1 ở trên). Ví dụ: chính sách sau đây chỉ định một tiền tố có tên làapigeetrong phần tử<Namespace>, khớp với nội dung trong thông báo lỗi:<?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>Xác định xem phần tử
<Namespace>có tiền tố cụ thể (được xác định ở bước 2) đã được xác định nhiều lần hay chưa. Nếu được xác định nhiều lần, thì đó là nguyên nhân gây ra lỗi.Trong ví dụ về chính sách Trích xuất biến ở trên, hãy lưu ý rằng phần tử
<Namespace>có tiền tốapigeeđã được xác định 2 lần; do đó, bạn sẽ gặp lỗi:ExtractVariables EV-XML-Age: Duplicate prefix apigee.
Độ phân giải
Đảm bảo rằng chỉ có một định nghĩa cho mỗi tiền tố trong các phần tử <Namespace> trong chính sách Trích xuất biến. Ví dụ:
<?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
Thông báo lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện thông báo lỗi sau:
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no xpaths to evaluate in variable name.
Ví dụ về thông báo lỗi
Error Saving Revision 4
ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
Ảnh chụp màn hình ví dụ

Nguyên nhân
Nếu Chính sách trích xuất biến không có phần tử <XPath> trong phần tử <XMLPayload>, thì quá trình triển khai proxy API sẽ không thành công và lỗi nêu trên sẽ xuất hiện.
Chẩn đoán
Xác định chính sách Extract Variables (Trích xuất biến) không thành công từ thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách là
Extract-Variables-1:ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.Trong tệp XML chính sách Extract Variables (Trích xuất biến) không thành công, hãy kiểm tra xem có phần tử
<XMLPayload>nào không có phần tử con<XPath>hay không. Nếu có, thì đó là nguyên nhân gây ra lỗi.Ví dụ: sau đây là chính sách Trích xuất biến có phần tử
<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>Vì không có phần tử
<XPath>nào nên việc triển khai API Proxy sẽ không thành công.
Độ phân giải
Đảm bảo rằng chính sách Trích xuất biến có một phần tử <XPath> được xác định trong phần tử <XMLPayload>. Ví dụ:
<?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
Thông báo lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện thông báo lỗi sau:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: XPath expression is empty in variable name.
Ví dụ về thông báo lỗi
Error Saving Revision 6
ExtractVariables Extract-Variables-1: XPath expression is empty in variable name.
Ảnh chụp màn hình ví dụ

Nguyên nhân
Nếu Chính sách trích xuất biến có biểu thức <XPath> trống trong phần tử <XMLPayload>, thì quá trình triển khai proxy API sẽ không thành công.
Chẩn đoán
Xác định chính sách Extract Variables (Trích xuất biến) không thành công từ thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách là
Extract-Variables-1:ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.Trong tệp XML của chính sách Extract Variables (Trích xuất biến) không thành công, hãy xác định xem có phần tử
<XMLPayload>nào có phần tử con<XPath>trống hay không. Nếu có, thì đó là nguyên nhân gây ra lỗi.Ví dụ: sau đây là chính sách Trích xuất biến có phần tử
<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>Vì có một phần tử
<XPath>trống trong phần tử<XMLPayload>, nên việc triển khai API Proxy sẽ không thành công.
Độ phân giải
Đảm bảo rằng chính sách Trích xuất biến có một phần tử <XPath> hợp lệ và không trống được xác định trong phần tử <XMLPayload>. Ví dụ:
<?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
Thông báo lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện thông báo lỗi sau:
Error Saving Revision [revision_number] ExtractVariables [policy_name]:no jsonpaths to evaluate in variable name.
Ví dụ về thông báo lỗi
Error Saving Revision 6
ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
Ảnh chụp màn hình ví dụ

Nguyên nhân
Nếu Chính sách trích xuất biến không có phần tử <JSONPath> trong phần tử <JSONPayload>, thì quá trình triển khai proxy API sẽ không thành công và lỗi nêu trên sẽ xuất hiện.
Chẩn đoán
Xác định chính sách Extract Variables (Trích xuất biến) không thành công từ thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách là
Extract-Variables-1:ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.Trong tệp XML chính sách Extract Variables (Trích xuất biến) không thành công, hãy xác định xem có phần tử
<JSONPayload>nào không có phần tử con<JSONPath>bắt buộc hay không. Nếu có, thì đó là nguyên nhân gây ra lỗi.Ví dụ: sau đây là chính sách Trích xuất biến có phần tử
<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>Vì không có phần tử con
<JSONPath>nào được xác định trong phần tử<JSONPayload>, nên việc triển khai API Proxy sẽ thất bại.
Độ phân giải
Đảm bảo rằng chính sách Trích xuất biến có một phần tử <JSONPath> được xác định trong phần tử <JSONPayload>. Ví dụ:
<?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
Thông báo lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện thông báo lỗi sau:
Error Saving Revision [revision_number] ExtractVariables [policy_name]: JSONPath expression is empty in variable name.
Ví dụ về thông báo lỗi
Error Saving Revision 6
ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
Ảnh chụp màn hình ví dụ

Nguyên nhân
Nếu Chính sách trích xuất biến có biểu thức <JSONPath> trống trong phần tử <JSONPayload>, thì quá trình triển khai proxy API sẽ không thành công.
Chẩn đoán
Xác định chính sách Extract Variables (Trích xuất biến) không thành công từ thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách là
Extract-Variables-1:ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.Trong XML chính sách Extract Variables (Trích xuất biến) không thành công, hãy xác minh xem có phần tử
<JSONPayload>nào có phần tử con<JSONPath>trống hay không. Nếu có, thì đó là nguyên nhân gây ra lỗi.Ví dụ: sau đây là chính sách Trích xuất biến có phần tử
<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>Vì có một phần tử
<JSONPath>trống trong phần tử<JSONPayload>, nên việc triển khai API Proxy sẽ không thành công.
Độ phân giải
Đảm bảo rằng chính sách Trích xuất biến có một phần tử <JSONPath> hợp lệ và không trống được xác định trong phần tử <JSONPayload>. Ví dụ:
<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
Thông báo lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện thông báo lỗi sau:
Error Saving Revision [revision_number] Error occurred while validation of bean [policy_name].xml Reason: - Required attribute name is missing in [element_name]
Ví dụ về thông báo lỗi
Error Saving Revision 6
Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
Ảnh chụp màn hình ví dụ

Nguyên nhân
Nếu Chính sách trích xuất biến không có thuộc tính name trong bất kỳ phần tử chính sách nào như QueryParam, Header, FormParam hoặc Variable (nơi bắt buộc phải có), thì quá trình triển khai proxy API sẽ không thành công.
Ví dụ: lỗi này xảy ra nếu thuộc tính name bị thiếu trong một phần tử Variable.
Chẩn đoán
Xác định tên của chính sách Trích xuất biến nơi xảy ra lỗi và phần tử bị thiếu thuộc tính
name. Bạn có thể tìm thấy những mục này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách làExtract-Variables-1và tên phần tử làVariable:Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in VariableTrong tệp XML chính sách Extract Variables (Trích xuất biến) không thành công, hãy kiểm tra để đảm bảo rằng tất cả các phần tử có tên được xác định từ bước 1 ở trên đều có thuộc tính
name. Nếu có phần tử nào thiếu thuộc tính name, thì đó là nguyên nhân gây ra lỗi.Ví dụ: chính sách Trích xuất biến sau đây có phần tử
<Variable>được xác định:<?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>Lưu ý rằng thuộc tính
namebị thiếu trong phần tửVariable, nên việc triển khai API Proxy sẽ thất bại.
Độ phân giải
Đảm bảo rằng Chính sách trích xuất biến chứa thuộc tính name bắt buộc cho các phần tử QueryParam, Header, FormParam hoặc Variable. Ví dụ:
<?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
Thông báo lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện thông báo lỗi sau:
Error Saving Revision [revision_number] Pattern [pattern] should have at least one variable in ExtractVariables stepDefinition [policy_name]
Ví dụ về thông báo lỗi
Error Saving Revision 7
Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
Ảnh chụp màn hình ví dụ

Nguyên nhân
Nếu Chính sách trích xuất biến không có biến nào được chỉ định trong phần tử <Pattern>, thì quá trình triển khai proxy API sẽ không thành công. Phần tử <Pattern> yêu cầu tên của biến mà dữ liệu được trích xuất sẽ được lưu trữ.
Chẩn đoán
Xác định tên của chính sách Trích xuất biến nơi xảy ra lỗi và mẫu mà Biến bị thiếu. Bạn có thể tìm thấy những mục này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách là
Extract-Variables-1và tên phần tử là/a/b:Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.Trong tệp XML chính sách Extract Variables (Trích xuất biến) không thành công, hãy xác minh rằng mẫu được đặt trong phần tử
<Pattern>khớp với mẫu được xác định trong thông báo lỗi (bước 1 ở trên). Ví dụ: chính sách sau đây chỉ định một mẫu/a/b, khớp với nội dung trong thông báo lỗi:Ví dụ: sau đây là chính sách Trích xuất biến có 3 phần tử
<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>Kiểm tra xem phần tử
<Pattern>được xác định ở bước 2 có biến hay không. Các biến phải được đặt trong dấu ngoặc nhọn. Nếu mẫu không có biến, thì đó là nguyên nhân gây ra lỗi.Phần tử
<Pattern>có mẫu /a/b không có biến; do đó, việc triển khai API Proxy không thành công<Pattern ignoreCase="true">/a/b/</Pattern>
Độ phân giải
Đảm bảo mọi phần tử <Pattern> đều có một biến (tên nằm trong dấu ngoặc nhọn). Ví dụ:
<?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
Thông báo lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện thông báo lỗi sau:
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].
Ví dụ về thông báo lỗi
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.
Ảnh chụp màn hình ví dụ

Nguyên nhân
Nếu Chính sách trích xuất biến có một biểu thức <XPath> trong đó loại <Variable> được xác định là nodeset, nhưng biểu thức không thể chuyển đổi thành nodeset, thì quá trình triển khai proxy API sẽ không thành công.
Chẩn đoán
Xác định chính sách Trích xuất biến nơi xảy ra lỗi và XPath không thể chuyển đổi thành nodeset. Bạn có thể tìm thấy cả hai mục này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách là
Extract-Variables-1và XPath là123.ExtractVariables Extract-Variables-1: Result of xpath 123 cannot be converted to nodeset. Context Revision:4;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.Trong tệp XML chính sách Extract Variables (Trích xuất biến) bị lỗi, hãy xác minh rằng XPath được đặt trong phần tử
<XPath>khớp với XPath được xác định trong thông báo lỗi (bước 1 ở trên). Ví dụ: chính sách sau đây chỉ địnhlà 123, khớp với nội dung trong thông báo lỗi:<?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>Kiểm tra loại phần tử
<Variable>tương ứng với<XPath>được xác định ở bước 2 ở trên. Nếu loại<Variable>lànodeset, thì đó là nguyên nhân gây ra lỗi.Lưu ý rằng biểu thức
<XPath>là123trong ví dụ về chính sách Trích xuất biến.<XPath>123</XPath>Không thể chuyển đổi biểu thức
123thành nodeset. Do đó, việc triển khai API Proxy sẽ không thành công.
Độ phân giải
Đảm bảo rằng các biểu thức <XPath> được dùng trong chính sách Trích xuất biến có thể được chuyển đổi thành nodeset nếu loại <Variable> được xác định là nodeset. Ví dụ:
<?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
Thông báo lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện thông báo lỗi sau:
Error Deploying Revision [revision_number]
Pattern [pattern] is invalid in ExtractVariables stepDefinition [policy_name]
Ví dụ về thông báo lỗi
Error Deploying Revision 18 to test
Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
Ảnh chụp màn hình ví dụ

Nguyên nhân
Nếu định nghĩa phần tử <Pattern> không hợp lệ trong bất kỳ phần tử nào như URIPath, QueryParam, Header, FormParam, XMLPayload hoặc JSONPayload trong Chính sách trích xuất biến, thì việc triển khai proxy API sẽ không thành công.
Chẩn đoán
Xác định chính sách Extract Variables (Trích xuất biến) không thành công trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách là
Extract-Variables-2:Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.Trong tệp XML chính sách Extract Variables (Trích xuất biến) không thành công, hãy kiểm tra xem có phần tử nào trong số này xuất hiện hay không và thêm phần tử
<Pattern>.:URIPath,QueryParam,Header,FormParam,XMLPayloadhoặcJSONPayload.Ví dụ: sau đây là ví dụ về chính sách Trích xuất biến có phần tử
<Pattern>trong phần tử<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>Kiểm tra định nghĩa của từng phần tử
<Pattern>. Nếu có phần tử<Pattern>nào có định nghĩa không hợp lệ, thì đó là nguyên nhân gây ra lỗi.Trong ví dụ về chính sách Trích xuất biến ở trên, hãy lưu ý rằng định nghĩa
<Pattern>trong phần tử<QueryParam>là không hợp lệ; do đó, việc triển khai API Proxy sẽ không thành công. Xem thêm Giới thiệu về tính năng so khớp và tạo biến<Pattern ignoreCase="true">{*}</Pattern>
Độ phân giải
Đảm bảo rằng định nghĩa phần tử <Pattern> trong các phần tử URIPath, QueryParam, Header, FormParam, XMLPayload hoặc JSONPayload trong chính sách Trích xuất biến là hợp lệ. Ví dụ:
<?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>
Xem thêm Giới thiệu về tính năng so khớp và tạo biến
XPathCompilationFailed
Thông báo lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công với thông báo lỗi sau:
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].
Ví dụ về thông báo lỗi
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.
Ảnh chụp màn hình ví dụ

Nguyên nhân
Nếu tiền tố hoặc giá trị được dùng trong phần tử <XPath> không thuộc bất kỳ không gian tên nào được khai báo trong Chính sách trích xuất biến, thì quá trình triển khai proxy API sẽ không thành công.
Bạn có thể tìm thêm thông tin về không gian tên, XPath và tiền tố trong bài viết Không gian tên XML và ảnh hưởng của không gian tên đến XPath và XSLT.
Chẩn đoán
Xác định chính sách Trích xuất biến nơi xảy ra lỗi và XPath không thể biên dịch. Bạn có thể tìm thấy cả hai mục này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách là
EV-XML-Agevà xpath là/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.Trong tệp XML chính sách Extract Variables (Trích xuất biến) bị lỗi, hãy xác minh rằng XPath được đặt trong phần tử
<XPath>khớp với XPath được xác định trong thông báo lỗi (bước 1 ở trên). Ví dụ: chính sách sau đây chỉ địnhlà /apigee:Directions/apigee:route/apigee:leg/apigee:name, khớp với nội dung trong thông báo lỗi:<?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>Kiểm tra các phần tử
<Namespaces>và<XPath>trong chính sách Trích xuất biến. Nếu<XPath>cụ thể được chỉ ra trong thông báo lỗi sử dụng một tiền tố hoặc giá trị không thuộc không gian tên được khai báo trong chính sách Trích xuất biến, thì đó là nguyên nhân gây ra lỗi.Xin lưu ý rằng
<XPath>cụ thể sử dụng tiền tốapigeetrong ví dụ về chính sách Trích xuất biến.<XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>Tuy nhiên, tiền tố
apigeekhông được xác định trong bất kỳ phần tử<Namespace>nào; do đó, quá trình biên dịch<XPath>không thành công dẫn đến việc triển khai không thành công.
Độ phân giải
Đảm bảo rằng tất cả các không gian tên đang được dùng trong các phần tử <XPath> đều được khai báo trong Chính sách trích xuất biến. Ví dụ:
<?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>