คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบเกี่ยวกับ Apigee Xข้อมูล
InvalidRegularExpression
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Deploying Revision revision_number to environment RegularExpressionProtection policy_name: Invalid Regular Expression com.apigee.steps.regexprotection.RegularExpressionProtectionBean$RegexPattern@f4ecb23, Context Revision:revision_number;APIProxy:RegexThreat;Organization:organization;Environment:environment.
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Invalid Regular Expression com.apigee.steps.regexprotection.RegularExpressionProtectionBean$RegexPattern@f4ecb23, Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด
สาเหตุ
หากนิพจน์ทั่วไปในองค์ประกอบ <Pattern>
ของนโยบาย regularExpressionProtection ไม่ถูกต้อง การทำให้พร็อกซี API ใช้งานได้จะล้มเหลว
การวินิจฉัย
ระบุชื่อนโยบาย RegularExpressionProtection จากข้อความแสดงข้อผิดพลาด เช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบาย RegularExpressionProtection คือ
Regular-Expression-Protection-1:
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Invalid Regular Expression com.apigee.steps.regexprotection.RegularExpressionProtectionBean$RegexPattern@f4ecb23, Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
ตรวจสอบองค์ประกอบ
<Pattern>
ทั้งหมดใน XML ของนโยบายการป้องกันนิพจน์ทั่วไปที่ล้มเหลว ตรวจสอบว่าองค์ประกอบ<Pattern>
รายการใดมีนิพจน์ทั่วไปไม่ถูกต้องหรือไม่ หากองค์ประกอบ<Pattern>
รายการใดมีนิพจน์ทั่วไปไม่ถูกต้อง แสดงว่าองค์ประกอบนั้นคือสาเหตุของข้อผิดพลาดตัวอย่างเช่น นโยบายต่อไปนี้ระบุค่า
Pattern>
ของfoo){2}
ซึ่งถือว่านิพจน์ทั่วไปไม่ถูกต้อง<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <URIPath> <Pattern>foo){2}</Pattern> </URIPath> <Source>request</Source> </RegularExpressionProtection>
ในตัวอย่างข้างต้น นิพจน์ทั่วไปที่ระบุใน
<Pattern>
ไม่มีวงเล็บเปิด ระบบจึงถือว่านิพจน์ทั่วไปไม่ถูกต้อง จึงทำให้การติดตั้งใช้งานพร็อกซี API ล้มเหลว
ความละเอียด
ตรวจสอบว่าองค์ประกอบ <Pattern>
แต่ละรายการในนโยบาย RegularExpressionProtection มีพารามิเตอร์นิพจน์ทั่วไปที่ถูกต้อง คุณสามารถค้นหาเครื่องมือนิพจน์ทั่วไปแบบออนไลน์หรือแบบออฟไลน์อื่นๆ สำหรับการแก้ไขข้อบกพร่องของนิพจน์ทั่วไป
หากต้องการแก้ไขตัวอย่างนโยบายการป้องกันนิพจน์ทั่วไปที่แสดงด้านบน ให้เพิ่มวงเล็บปีกกาที่ขาดหายไป
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <URIPath> <Pattern>(foo){2}</Pattern> </URIPath> <Source>request</Source> </RegularExpressionProtection>
XPathCompilationFailed
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Deploying Revision revision_number to environment RegularExpressionProtection policy_name: Failed to compile xpath xpath_expression. Context Revision:revision_number;APIProxy:RegexThreat;Organization:organization;Environment:environment.
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Failed to compile xpath /notapigee:foo/notapigee:bar. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด
สาเหตุ
หากคำนำหน้าหรือค่าที่ใช้ในองค์ประกอบ <XPath>
ไม่ได้เป็นส่วนหนึ่งของเนมสเปซที่ประกาศในนโยบาย regularExpressionProtection การทำให้พร็อกซี API ใช้งานได้จะล้มเหลว
ดูข้อมูลเพิ่มเติมเกี่ยวกับเนมสเปซ, XPath และคำนำหน้าได้ในเนมสเปซ XML และผลกระทบที่มีต่อ XPath และ XSLT
การวินิจฉัย
ระบุชื่อนโยบาย RegularExpressionProtection ที่ทำให้เกิดข้อผิดพลาดและนิพจน์ XPath ที่ใช้ ซึ่งคุณจะเห็นทั้ง 2 รายการนี้ในข้อความแสดงข้อผิดพลาด
เช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ
Regular-Expression-Protection-1
และนิพจน์ XPath คือ/notapigee:foo/notapigee:bar:
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Failed to compile xpath /notapigee:foo/notapigee:bar. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
ใน XML นโยบายการป้องกันนิพจน์ทั่วไปที่ไม่สําเร็จ ให้ยืนยันว่า XPath ที่ตั้งค่าไว้ในองค์ประกอบ
Expression
ตรงกับ XPath ที่ระบุในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 1 ด้านบน)เช่น นโยบายต่อไปนี้ระบุ XPath เป็น
/notapigee:foo/notapigee:bar
ซึ่งตรงกับสิ่งที่อยู่ในข้อความแสดงข้อผิดพลาด<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/notapigee:foo/notapigee:bar</Expression> <Type>nodeset</Type> <Pattern>pattern</Pattern> <Pattern>pattern2</Pattern> </XPath> </XMLPayload> </RegularExpressionProtection>
- ตรวจสอบองค์ประกอบ
<Namespaces>
และ<Expression>
ในนโยบายการป้องกันนิพจน์ทั่วไป หาก<Expression>
ที่เจาะจงซึ่งระบุไว้ในข้อความแสดงข้อผิดพลาดใช้คำนำหน้าหรือค่าที่ไม่ได้เป็นส่วนหนึ่งของเนมสเปซที่ประกาศในนโยบาย regularExpressionProtection นั่นจึงเป็นสาเหตุของข้อผิดพลาดโปรดทราบว่า
<XPath>
ที่เฉพาะเจาะจงใช้คำนำหน้าnotapigee
ในตัวอย่างนโยบาย RegularExpressionProtection<Expression>/notapigee:foo/notapigee:bar</Expression>
อย่างไรก็ตาม ไม่ได้กําหนดคำนำหน้า
notapigee
ในองค์ประกอบ<Namespace>
รายการใดเลย การคอมไพล์<XPath>
จึงล้มเหลวซึ่งทําให้การติดตั้งใช้งานไม่สําเร็จ
ความละเอียด
ตรวจสอบว่าได้ประกาศเนมสเปซทั้งหมดที่ใช้ในองค์ประกอบ <Expression>
ภายใต้องค์ประกอบ <XPath>
ในนโยบาย regularExpressionProtection หากต้องการแก้ไขตัวอย่างข้างต้น ให้แทนที่คำนำหน้า notapigee
ด้วย apigee
ซึ่งประกาศในเนมสเปซ
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:foo/apigee:bar</Expression> <Type>nodeset</Type> <Pattern>pattern</Pattern> <Pattern>pattern2</Pattern> </XPath> </XMLPayload> </RegularExpressionProtection>
CannotBeConvertedToNodeset
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Deploying Revision revision_number to environment RegularExpressionProtection policy_name: Result of xpath xpath_expression cannot be converted to nodeset. Context Revision:revision_number;APIProxy:RegexThreat;Organization:organization;Environment:environment.
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Result of xpath count(//apigee:foo) cannot be converted to nodeset. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด
สาเหตุ
หากนโยบายนิพจน์ทั่วไปมีนิพจน์ <XPath>
ที่กําหนดองค์ประกอบ <Type>
เป็น nodeset แต่ไม่สามารถแปลงนิพจน์เป็น nodeset ได้ การติดตั้งใช้งานพร็อกซี API จะดำเนินการไม่สำเร็จ
การวินิจฉัย
ระบุนโยบาย RegularExpressionProtection ที่ทำให้เกิดข้อผิดพลาดและนิพจน์ XPath ที่แปลงเป็นชุดโหนดไม่ได้ คุณจะเห็นทั้ง 2 รายการนี้ในข้อความแสดงข้อผิดพลาด
เช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ
Regular-Expression-Protection-1
และนิพจน์ XPath คือcount(//apigee:foo):
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Result of xpath count(//apigee:foo) cannot be converted to nodeset. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
ใน XML นโยบายการป้องกันนิพจน์ทั่วไปที่ไม่ผ่าน ให้ยืนยันว่า XPath ที่ตั้งค่าไว้ในองค์ประกอบ
<Expression>
ขององค์ประกอบ<XPath>
ตรงกับ XPath ที่ระบุไว้ในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 1 ด้านบน)เช่น นโยบายต่อไปนี้ระบุ as
count(//apigee:foo)
ซึ่งตรงกับสิ่งที่อยู่ในข้อความแสดงข้อผิดพลาด<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>count(//apigee:foo)</Expression> <Type>nodeset</Type> <Pattern>pattern</Pattern> <Pattern>pattern2</Pattern> </XPath> </XMLPayload> </RegularExpressionProtection>
ตรวจสอบค่าที่ตั้งไว้ในองค์ประกอบ
<Type>
ใต้องค์ประกอบ<XPath>
หากองค์ประกอบ<Type>
เป็นnodeset
แสดงว่านี่คือสาเหตุของข้อผิดพลาดในตัวอย่างนี้ นิพจน์ XPath คือ count() ซึ่งไม่แสดงผลโหนดอย่างน้อย 1 รายการ ด้วยเหตุนี้ การติดตั้งใช้งานพร็อกซี API จึงล้มเหลว
ความละเอียด
หากตั้งค่าองค์ประกอบ <Type>
เป็น nodeset ให้ตรวจสอบว่าผลลัพธ์ขององค์ประกอบ <Expression>
ที่ตั้งค่าไว้ใน <XPath>
เป็นโหนดอย่างน้อย 1 โหนด หรือเปลี่ยนองค์ประกอบ <Type>
เป็นค่าที่เหมาะสมกว่าตาม Use Case ของคุณ
หากต้องการแก้ไขตัวอย่างข้างต้น คุณสามารถเปลี่ยนองค์ประกอบ <Expression>
เป็นค่าอื่นที่แสดงผลโหนดได้ ดังนี้
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:foo/apigee:bar</Expression> <Type>nodeset</Type> <Pattern>pattern</Pattern> <Pattern>pattern2</Pattern> </XPath> </XMLPayload> </RegularExpressionProtection>
JSONPathCompilationFailed
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Deploying Revision revision_number to environment RegularExpressionProtection policy_name: Failed to compile jsonpath jsonpath_expression Context Revision:revision_number;APIProxy:RegexThreat;Organization:organization;Environment:environment.
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Failed to compile jsonpath $.store.book[*.author. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด
สาเหตุ
หากตั้งค่าองค์ประกอบ <Expression>
ในส่วน <JSONPath>
ของนโยบายการป้องกันนิพจน์ทั่วไปเป็นนิพจน์ JSONPath ที่ไม่ถูกต้อง การติดตั้งใช้งานพร็อกซี API จะดำเนินการไม่สำเร็จ
การวินิจฉัย
ระบุชื่อนโยบาย RegularExpressionProtection ที่ทำให้เกิดข้อผิดพลาดและมีการใช้นิพจน์ JSONPath ที่ไม่ถูกต้อง คุณจะเห็นทั้ง 2 รายการนี้ในข้อความแสดงข้อผิดพลาด
เช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ
Regular-Expression-Protection-1
และนิพจน์ JSONPath คือ$.store.book[*.author:
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Failed to compile jsonpath $.store.book[*.author. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
ใน XML ของนโยบายการป้องกันนิพจน์ทั่วไปที่ล้มเหลว ให้ตรวจสอบว่าชุด JSONPath ในองค์ประกอบ
Expression
ตรงกับ JSONPath ที่ระบุในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 1 ด้านบน)ตัวอย่างเช่น นโยบายต่อไปนี้ระบุองค์ประกอบ
Expression
ในส่วนองค์ประกอบ<JSONPath>
เป็น$.store.book[*.author
ซึ่งตรงกับสิ่งที่อยู่ในข้อความแสดงข้อผิดพลาด<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <JSONPayload> <JSONPath> <Expression>$.store.book[*.author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath> </JSONPayload> </RegularExpressionProtection>
ตรวจสอบองค์ประกอบ
<Expression>
ใต้องค์ประกอบ<JSONPath>
ในนโยบาย หากไม่ตรงกับไวยากรณ์ JSONPath นี่อาจเป็นสาเหตุของข้อผิดพลาด ในตัวอย่างด้านบน ไม่มีวงเล็บเหลี่ยมปิด ซึ่งทําให้นิพจน์ไม่ถูกต้องเนื่องจากนิพจน์เส้นทาง JSON ไม่ถูกต้อง การทำให้ Proxy API ใช้งานได้จึงดำเนินการไม่สำเร็จ
ความละเอียด
ตรวจสอบว่าค่าขององค์ประกอบ <Expression>
ภายในองค์ประกอบ <JSONPath>
ในนโยบายการป้องกันนิพจน์ทั่วไปเป็นนิพจน์ JSONPath ที่ถูกต้อง
หากต้องการแก้ไขตัวอย่างที่แสดงด้านบน คุณสามารถเพิ่มวงเล็บเหลี่ยมปิดลงในค่าขององค์ประกอบ <Expression>
ได้
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <JSONPayload> <JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath> </JSONPayload> </RegularExpressionProtection>
NothingToEnforce
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number RegularExpressionProtection policy_name: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด
สาเหตุ
หากนโยบาย RegularExpressionProtection ไม่มีองค์ประกอบ <URIPath>
, <QueryParam>
, <Header>
, <FormParam>
, <XMLPayload>
หรือ <JSONPayload>
การติดตั้งใช้งาน API Proxy จะดำเนินการไม่สำเร็จ
ตามที่ระบุไว้ในข้อความแสดงข้อผิดพลาด นโยบาย RegularExpressionProtection ต้องมีองค์ประกอบต่อไปนี้อย่างน้อย 1 รายการในนโยบาย <URIPath>
, <QueryParam>
, <Header>
, <FormParam>
, <XMLPayload>
หรือ <JSONPayload>
การวินิจฉัย
ระบุชื่อนโยบาย RegularExpressionProtection ที่ทำให้เกิดข้อผิดพลาด ซึ่งดูได้ในข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ
Regular-Expression-Protection-1:
RegularExpressionProtection Regular-Expression-Protection-1: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
ตรวจสอบนโยบายการป้องกันนิพจน์ทั่วไปที่ไม่ผ่าน (ระบุไว้ในขั้นตอนที่ 1 ด้านบน) หากนโยบายไม่มีองค์ประกอบใดเลยต่อไปนี้
<URIPath>
,<QueryParam>
,<Header>
,<FormParam>
,<XMLPayload>
หรือ<JSONPayload>
แสดงว่านี่คือสาเหตุของข้อผิดพลาดตัวอย่างเช่น นโยบายการป้องกันนิพจน์ทั่วไปต่อไปนี้ไม่มีองค์ประกอบใดๆ ที่กล่าวถึงข้างต้น
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> </RegularExpressionProtection>
เนื่องจากไม่มีองค์ประกอบที่จําเป็นอยู่ในนโยบายการดึงข้อมูลตัวแปร การติดตั้งใช้งานพร็อกซี API จึงล้มเหลว
ความละเอียด
ตรวจสอบว่านโยบาย regularExpressionProtection มีองค์ประกอบที่จำเป็นอย่างน้อย 1 รายการ ได้แก่ <URIPath>
, <QueryParam>
, <Header>
, <FormParam>
, <XMLPayload>
หรือ <JSONPayload>
เช่น
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <JSONPayload> <JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath> </JSONPayload> </RegularExpressionProtection>
NoPatternsToEnforce
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number RegularExpressionProtection policy_name: No patterns to enforce in payload_name.
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: No patterns to enforce in XPath.
ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด
สาเหตุ
หากองค์ประกอบระดับบนสุด (<URIPath>
, <QueryParam>
, <Header>
, <FormParam>
, <XMLPayload>
หรือ <JSONPayload>
) ใดไม่มีการกำหนดองค์ประกอบ <Pattern>
ในนโยบาย RegularExpressionProtection การติดตั้งใช้งานพร็อกซี API จะดำเนินการไม่สำเร็จ
การวินิจฉัย
ระบุชื่อนโยบาย RegularExpressionProtection ที่ทำให้เกิดข้อผิดพลาดและองค์ประกอบย่อยที่ไม่มีองค์ประกอบ
<Pattern>
คุณจะเห็นทั้ง 2 รายการนี้ในข้อความแสดงข้อผิดพลาดเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ
Regular-Expression-Protection-1
และองค์ประกอบย่อยคือXPath:
RegularExpressionProtection Regular-Expression-Protection-1: No patterns to enforce in XPath.
- ตรวจสอบนโยบายการป้องกันนิพจน์ทั่วไปที่ล้มเหลวและตรวจสอบว่าองค์ประกอบย่อยที่ระบุในขั้นตอนที่ 1 ไม่มีองค์ประกอบ
<Pattern>
หรือไม่ หากไม่มีองค์ประกอบ<Pattern>
แสดงว่านี่คือสาเหตุของข้อผิดพลาดตัวอย่างเช่น นโยบายต่อไปนี้ไม่มีองค์ประกอบ
<Pattern>
ภายใน<XPath>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> </XPath> </XMLPayload> </RegularExpressionProtection>
เนื่องจากองค์ประกอบ
<XPath>
ไม่มีองค์ประกอบ<Pattern>
การติดตั้งใช้งาน Proxy API จึงดำเนินการไม่สำเร็จ
ความละเอียด
ตรวจสอบว่าองค์ประกอบ <URIPath>
, <QueryParam>
, <Header>
, <FormParam>
, <XMLPayload>
หรือ <JSONPayload>
มีการระบุ <Pattern>
อย่างน้อย 1 รายการ ดูข้อมูลเกี่ยวกับวิธีระบุองค์ประกอบอย่างถูกต้องได้ที่นโยบาย RegularExpressionProtection
วิธีแก้ไขตัวอย่างข้างต้นคือเพิ่มองค์ประกอบ <Pattern>
ลงในองค์ประกอบ <XPath>
ใต้ <XMLPayload>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> </XPath> </XMLPayload> </RegularExpressionProtection>
NONEmptyPrefixMappedToEmptyURI
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number RegularExpressionProtection policy_name: Non-empty prefix prefix_name cannot be mapped to empty uri.
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: Non-empty prefix apigee cannot be mapped to empty uri.
ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด
สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากนโยบาย RegularExpressionProtection มีคำนำหน้าที่กำหนดไว้ในองค์ประกอบ <Namespace>
ภายใต้องค์ประกอบ <XMLPayload>
แต่ไม่ได้กำหนด URI
การวินิจฉัย
ระบุนโยบาย RegularExpressionProtection ที่ทำให้เกิดข้อผิดพลาดและชื่อของคำนำหน้าที่ไม่ได้แมปกับ URI คุณจะเห็นทั้ง 2 รายการนี้ในข้อความแสดงข้อผิดพลาด
ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ Mean Expression Protection-1 และคำนำหน้าคือ Apigee
RegularExpressionProtection Regular-Expression-Protection-1: Non-empty prefix apigee cannot be mapped to empty uri.
ใน XML ของนโยบายการป้องกันนิพจน์ทั่วไปที่ล้มเหลว ให้ตรวจสอบว่าชื่อของคำนำหน้าที่ตั้งไว้ในองค์ประกอบ
<Namespace>
ภายใต้องค์ประกอบ<XMLPayload>
ตรงกับชื่อคำนำหน้าที่ระบุในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 1 ด้านบน)ตัวอย่างเช่น นโยบายต่อไปนี้ระบุคำนำหน้าชื่อ apigee ในองค์ประกอบ
<Namespace>
ซึ่งตรงกับข้อความในข้อผิดพลาด<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee"/> <Namespace prefix="gmail">http://mail.google.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> </XPath> </XMLPayload> </RegularExpressionProtection>
ตรวจสอบว่าองค์ประกอบ
<Namespace>
ที่มีคำนำหน้าเฉพาะที่ระบุไว้ในขั้นตอนที่ 2 มี URI ที่ถูกต้องหรือไม่ หากไม่มี URI แสดงว่า URI ดังกล่าวเป็นสาเหตุของข้อผิดพลาดในตัวอย่างนโยบายการป้องกันนิพจน์ทั่วไปที่แสดงด้านบน ให้สังเกตว่าไม่มี URI ที่ตรงกับองค์ประกอบ
<Namespace>
ที่มี Apigee นำหน้า ดังนั้นคุณจะได้รับข้อผิดพลาดNon-empty prefix apigee cannot be mapped to empty uri.
ความละเอียด
ตรวจสอบว่าองค์ประกอบ <Namespace>
ทั้งหมดที่กำหนดไว้ด้วยคำนำหน้ามี URI ที่สอดคล้องกันในนโยบายการดึงข้อมูลตัวแปร เช่น
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> <Namespace prefix="gmail">http://mail.google.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> </XPath> </XMLPayload> </RegularExpressionProtection>
DuplicatePrefix
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number RegularExpressionProtection policy_name: Duplicate prefix prefix_name.
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: Duplicate prefix apigee.
ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด
สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากนโยบาย RegularExpressionProtection มีการกำหนดคำนำหน้าเดียวกันมากกว่า 1 ครั้งในองค์ประกอบ <Namespace>
ภายใต้องค์ประกอบ <XMLPayload>
ตัวอย่างเช่น ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากมีการกําหนดคํานําหน้า apigee 2 ครั้งดังที่แสดงด้านล่าง
<Namespace prefix="apigee">http://www.apigee.com</Namespace> <Namespace prefix="apigee">http://www.apigee.com</Namespace>
การวินิจฉัย
ระบุนโยบาย RegularExpressionProtection ที่ทำให้เกิดข้อผิดพลาดและชื่อของคำนำหน้า คุณจะเห็นทั้ง 2 รายการนี้ในข้อความแสดงข้อผิดพลาด
ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ Mean Expression Protection-1 และคำนำหน้าคือ Apigee
RegularExpressionProtection Regular-Expression-Protection-1: Duplicate prefix apigee.
ใน XML ของนโยบายการป้องกันนิพจน์ทั่วไปที่ล้มเหลว ให้ตรวจสอบว่าชื่อของคำนำหน้าที่ตั้งไว้ในองค์ประกอบ
<Namespace>
ภายใต้องค์ประกอบ<XMLPayload>
ตรงกับชื่อคำนำหน้าที่ระบุในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 1 ด้านบน)ตัวอย่างเช่น นโยบายต่อไปนี้ระบุคำนำหน้าชื่อ apigee ในองค์ประกอบ
<Namespace>
ซึ่งตรงกับสิ่งที่อยู่ในข้อความแสดงข้อผิดพลาด<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> </XPath> </XMLPayload> </RegularExpressionProtection>
ตรวจสอบว่าองค์ประกอบ
<Namespace>
ที่มีคำนำหน้าเฉพาะซึ่งระบุไว้ในขั้นตอนที่ 2 ได้รับการกําหนดไว้มากกว่า 1 ครั้งหรือไม่ หากมีการกําหนดมากกว่า 1 ครั้ง แสดงว่านี่อาจเป็นสาเหตุของข้อผิดพลาดในตัวอย่างนโยบายการป้องกันนิพจน์ทั่วไปที่แสดงด้านบน ให้สังเกตว่าองค์ประกอบ
<Namespace>
ที่มี Apigee เป็นคำนำหน้าได้รับการกำหนด 2 ครั้ง ดังนั้นคุณจะได้รับข้อผิดพลาดDuplicate prefix apigee.
ความละเอียด
ตรวจสอบว่ามีเพียง 1 คำจำกัดความสำหรับคำนำหน้าแต่ละรายการในองค์ประกอบ <Namespace>
ในนโยบาย regularExpressionProtection เช่น
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> </XPath> </XMLPayload> </RegularExpressionProtection>
EmptyXPathExpression
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number RegularExpressionProtection policy_name: Empty XPath expression.
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: Empty XPath expression.
ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด
สาเหตุ
หากนโยบาย RegularExpressionProtection ไม่มีการตั้งค่าองค์ประกอบ <Expression>
ภายในองค์ประกอบ <XPath>
การติดตั้งใช้งานพร็อกซี API จะดำเนินการไม่สำเร็จ
การวินิจฉัย
ระบุนโยบายการป้องกันนิพจน์ทั่วไปที่ไม่สําเร็จจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ Regular-Expression-Protection-1
RegularExpressionProtection Regular-Expression-Protection-1: Empty XPath expression.
ใน XML นโยบายการป้องกันนิพจน์ทั่วไปที่ไม่ผ่าน ให้ตรวจสอบว่ามีองค์ประกอบ
<XMLPayload>
ที่มีองค์ประกอบย่อย<XPath>
ที่ไม่มีการกำหนดองค์ประกอบ<Expression>
ไว้ หรือไม่ได้ตั้งค่าองค์ประกอบ<Expression>
เป็นค่าใดๆ หรือไม่ หากใช่ แสดงว่านี่คือสาเหตุของข้อผิดพลาดต่อไปนี้เป็นตัวอย่างนโยบายการป้องกันนิพจน์ทั่วไปที่มีองค์ประกอบ
<XMLPayload>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression></Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> </XPath> </XMLPayload> </RegularExpressionProtection>
เนื่องจากมีองค์ประกอบ
<Expression>
ที่ว่างเปล่าภายในองค์ประกอบ<XPath>
จึงทำให้การติดตั้งใช้งาน Proxy API ไม่สำเร็จ
ความละเอียด
ตรวจสอบว่านโยบาย RegularExpressionProtection มีองค์ประกอบ <Expression>
ที่ถูกต้องและไม่ว่างเปล่าซึ่งกำหนดไว้ภายใต้องค์ประกอบ <XPath>
เช่น
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> </XPath> </XMLPayload> </RegularExpressionProtection>
EmptyJSONPathExpression
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number RegularExpressionProtection policy_name: Empty JSONPath expression.
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: Empty JSONPath expression.
ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด
สาเหตุ
หากนโยบาย RegularExpressionProtection ไม่มีการตั้งค่าองค์ประกอบ <Expression>
ภายในองค์ประกอบ <JSONPath>
การติดตั้งใช้งานพร็อกซี API จะดำเนินการไม่สำเร็จ
การวินิจฉัย
ระบุนโยบายการป้องกันนิพจน์ทั่วไปที่ไม่สําเร็จจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ regular-Expression-Protection-1
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: Empty JSONPath expression.
ใน XML นโยบายการป้องกันนิพจน์ทั่วไปที่ไม่ผ่าน ให้ตรวจสอบว่ามีองค์ประกอบ
<JSONPayload>
ที่มีองค์ประกอบย่อย<JSONPath>
ที่ไม่มีการกำหนดองค์ประกอบ<Expression>
ไว้ หรือไม่ได้ตั้งค่าองค์ประกอบ<Expression>
เป็นค่าใดๆ หรือไม่ หากใช่ แสดงว่านี่คือสาเหตุของข้อผิดพลาดต่อไปนี้เป็นตัวอย่างนโยบายการป้องกันนิพจน์ทั่วไปที่มีองค์ประกอบ
<JSONPayload>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <JSONPayload> <JSONPath> <Expression></Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath> </JSONPayload> </RegularExpressionProtection>
เนื่องจากมีองค์ประกอบ
<Expression>
ที่ว่างเปล่าภายในองค์ประกอบ<JSONPath>
จึงทำให้การติดตั้งใช้งาน Proxy API ไม่สำเร็จ
ความละเอียด
ตรวจสอบว่านโยบาย RegularExpressionProtection มีองค์ประกอบ <Expression>
ที่ถูกต้องและไม่ว่างเปล่าซึ่งกำหนดไว้ภายใต้องค์ประกอบ <JSONPath>
เช่น
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <JSONPayload> <JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath> </JSONPayload> </RegularExpressionProtection>