คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
นโยบาย AccessControl
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
accesscontrol.IPDeniedAccess |
403 | มีการส่งผ่านที่อยู่ IP ของไคลเอ็นต์หรือที่อยู่ IP
ในคำขอ API ตรงกับที่อยู่ IP ที่ระบุในองค์ประกอบ <SourceAddress> ภายใน
องค์ประกอบ <MatchRule> ของนโยบายควบคุมการเข้าถึง และแอตทริบิวต์ action ของ
องค์ประกอบ <MatchRule> ได้รับการตั้งค่าเป็น DENY |
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ ดูข้อมูลเพิ่มเติมได้ที่ตัวแปรเฉพาะสําหรับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | acl.AC-AllowAccess.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault":{ "faultstring":"Access Denied for client ip : 52.211.243.3" "detail":{ "errorcode":"accesscontrol.IPDeniedAccess" } } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name="IPDeniedAccess"> <Step> <Name>AM-IPDeniedAccess</Name> <Condition>(fault.name Matches "IPDeniedAccess") </Condition> </Step> <Condition>(acl.failed = true) </Condition> </FaultRule>
นโยบาย AccessEntity
ดูข้อมูลที่เกี่ยวข้องได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ไม่มี
ข้อผิดพลาดในการทำให้ใช้งานได้
ชื่อข้อผิดพลาด | สตริงข้อผิดพลาด | สถานะ HTTP | เกิดขึ้นเมื่อ |
---|---|---|---|
InvalidEntityType |
Invalid type [entity_type] in ACCESSENTITYStepDefinition
[policy_name] |
ไม่มีข้อมูล | ประเภทเอนทิตีที่ใช้ต้องเป็นประเภทที่รองรับ |
นโยบาย AssignMessage
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้สำคัญต่อผู้ที่กำลังพัฒนากฎข้อบกพร่องเพื่อจัดการข้อบกพร่อง ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดด้านนโยบายและการจัดการข้อบกพร่อง
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อบกพร่อง | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 | นโยบายไม่สามารถตั้งค่าตัวแปร ดูชื่อตัวแปรที่ยังไม่ได้รับการแก้ไขในสตริงข้อบกพร่อง | |
steps.assignmessage.VariableOfNonMsgType |
500 |
ข้อผิดพลาดนี้เกิดขึ้นหากตั้งค่าแอตทริบิวต์ ตัวแปรประเภทข้อความแสดงคําขอและคําตอบ HTTP ทั้งหมด ตัวแปรการไหลของ Edge ในตัว |
build |
steps.assignmessage.UnresolvedVariable |
500 |
ข้อผิดพลาดนี้จะเกิดขึ้นหากตัวแปรที่ระบุไว้ในนโยบาย "กำหนดข้อความ" เป็นค่าใดค่าหนึ่งต่อไปนี้
|
build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณติดตั้งใช้งานพร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidIndex |
หากดัชนีที่ระบุในองค์ประกอบ <Copy> และ/หรือ <Remove> ของนโยบายการกําหนดข้อความเป็น 0 หรือเป็นตัวเลขติดลบ การติดตั้งใช้งาน API Proxy จะดำเนินการไม่สำเร็จ
|
build |
InvalidVariableName |
หากองค์ประกอบย่อย <Name> ว่างเปล่าหรือไม่ได้ระบุในองค์ประกอบ <AssignVariable> การทำให้พร็อกซี API ใช้งานได้จะล้มเหลวเนื่องจากไม่มีชื่อตัวแปรที่ถูกต้องที่จะกำหนดค่า ต้องระบุชื่อตัวแปรที่ถูกต้อง
|
build |
InvalidPayload |
เพย์โหลดที่ระบุในนโยบายไม่ถูกต้อง |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาดที่รันไทม์ ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดด้านนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อข้อบกพร่องตามที่แสดงในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อบกพร่องคือส่วนสุดท้ายของรหัสข้อบกพร่อง | fault.name Matches "UnresolvedVariable" |
assignmessage.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | assignmessage.AM-SetResponse.failed = true |
ตัวอย่างการตอบกลับข้อผิดพลาด
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
ตัวอย่างกฎข้อบกพร่อง
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="Assign Message Faults"> <Step> <Name>AM-CustomNonMessageTypeErrorResponse</Name> <Condition>(fault.name Matches "VariableOfNonMsgType") </Condition> </Step> <Step> <Name>AM-CustomSetVariableErrorResponse</Name> <Condition>(fault.name = "SetVariableFailed")</Condition> </Step> <Condition>(assignmessage.failed = true) </Condition> </FaultRule>
นโยบายการตรวจสอบสิทธิ์พื้นฐาน
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่ส่งกลับ และตัวแปรข้อผิดพลาดที่ Edge กำหนดไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้สำคัญต่อการพัฒนากฎข้อบกพร่องเพื่อจัดการข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดด้านนโยบายและการจัดการข้อบกพร่อง
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อบกพร่อง | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource |
500 | ในการถอดรหัสเมื่อสตริงที่เข้ารหัส Base64 ขาเข้าไม่มีค่าที่ถูกต้องหรือส่วนหัวมีรูปแบบไม่ถูกต้อง (เช่น ไม่ได้ขึ้นต้นด้วย "Basic") | build |
steps.basicauthentication.UnresolvedVariable |
500 | ไม่มีตัวแปรแหล่งที่มาที่จําเป็นสําหรับการถอดรหัสหรือเข้ารหัส ข้อผิดพลาดนี้จะเกิดขึ้นได้ก็ต่อเมื่อ IgnoreUnresolvedVariables เป็นเท็จเท่านั้น |
build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณติดตั้งใช้งานพร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | เกิดขึ้นเมื่อ | แก้ไข |
---|---|---|
UserNameRequired |
ต้องมีองค์ประกอบ <User> สำหรับการดำเนินการที่มีชื่อ |
build |
PasswordRequired |
ต้องมีองค์ประกอบ <Password> สำหรับการดำเนินการที่มีชื่อ |
build |
AssignToRequired |
ต้องมีองค์ประกอบ <AssignTo> สำหรับการดำเนินการที่มีชื่อ |
build |
SourceRequired |
ต้องมีองค์ประกอบ <Source> สำหรับการดำเนินการที่มีชื่อ |
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name คือชื่อนโยบายที่ผู้ใช้ระบุซึ่งทำให้เกิดข้อผิดพลาด | BasicAuthentication.BA-Authenticate.failed = true |
ตัวอย่างการตอบกลับข้อผิดพลาด
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name="Basic Authentication Faults"> <Step> <Name>AM-UnresolvedVariable</Name> <Condition>(fault.name Matches "UnresolvedVariable") </Condition> </Step> <Step> <Name>AM-AuthFailedResponse</Name> <Condition>(fault.name = "InvalidBasicAuthenticationSource")</Condition> </Step> <Condition>(BasicAuthentication.BA-Authentication.failed = true) </Condition> </FaultRule>
นโยบาย ConcurrentRateLimit
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการข้อผิดพลาดได้ หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | เกิดขึ้นเมื่อ |
---|---|---|
policies.concurrentratelimit.ConcurrentRatelimtViolation |
503 |
มีการเชื่อมต่อเกินขีดจำกัดแล้ว ขีดจำกัดการเชื่อมต่อ : {0} หมายเหตุ: รหัสข้อผิดพลาดที่แสดงทางด้านซ้ายเป็นข้อมูลที่ถูกต้อง แม้ว่า มีการสะกดคำผิด ("limt") ตรวจสอบให้แน่ใจว่าใช้โค้ดตรงตามที่แสดงไว้ที่นี่ เมื่อสร้างกฎข้อผิดพลาดเพื่อดักจับข้อผิดพลาดนี้ |
ข้อผิดพลาดในการทำให้ใช้งานได้
ชื่อข้อผิดพลาด | เกิดขึ้นเมื่อ |
---|---|
InvalidCountValue |
ระบุค่าการนับพร้อมกันที่ไม่ถูกต้อง |
ConcurrentRatelimitStepAttachment\ |
ไม่อนุญาตให้แนบไฟล์นโยบายอัตราขีดจำกัดพร้อมกัน {0} ที่พร็อกซี เส้นทางคำขอ/การตอบกลับ/ข้อผิดพลาด ต้องวางนโยบายนี้ในปลายทางเป้าหมาย |
ConcurrentRatelimitStepAttachment\ |
ไม่มีไฟล์แนบของนโยบาย Ratelimit พร้อมกัน {0} ที่คำขอ/การตอบกลับ/ความผิดพลาดเป้าหมาย เส้นทาง นโยบายนี้ต้องวางไว้ในส่วนโฟลว์คำขอล่วงหน้าเป้าหมาย, โฟลว์การตอบกลับเป้าหมาย และ DefaultFaultRule |
InvalidTTLForMessageTimeOut |
ระบุค่า ttl ที่อัตราพร้อมกันไม่ถูกต้องสำหรับระยะหมดเวลาของข้อความ ต้องเป็น จำนวนเต็มบวก |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาด โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "ConcurrentRatelimtViolation"
หมายเหตุ: รหัสข้อผิดพลาดที่แสดงในตัวอย่างถูกต้อง แม้ว่าจะ มีการสะกดคำผิด ("limt") โปรดตรวจสอบว่าคุณใช้โค้ดตรงตามที่แสดงไว้ที่นี่ทุกประการ เมื่อสร้างกฎข้อผิดพลาดเพื่อดักจับข้อผิดพลาดนี้ |
concurrentratelimit.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | concurrentratelimit.CRL-RateLimitPolicy.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
หากเกินขีดจำกัดของอัตรา นโยบายจะแสดงผลเฉพาะสถานะ HTTP 503 แก่ไคลเอ็นต์
ตัวอย่างกฎข้อผิดพลาด
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRules> <FaultRule name="Quota Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "ConcurrentRatelimtViolation") </Condition> </Step> <Condition>concurrentratelimit.CRL-RateLimitPolicy.failed=true</Condition> </FaultRule> </FaultRules>
นโยบาย DecodeJWS
ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ Edge กําหนดเมื่อนโยบายนี้ทําให้เกิดข้อผิดพลาด ข้อมูลนี้เป็นสิ่งสำคัญที่ต้องทราบหากคุณกำลังกำหนดกฎข้อผิดพลาดเพื่อจัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | เกิดขึ้นเมื่อ |
---|---|---|
steps.jws.FailedToDecode |
401 | นโยบายนี้ถอดรหัส JWS ไม่ได้ JWS อาจเสียหาย |
steps.jws.FailedToResolveVariable |
401 | เกิดขึ้นเมื่อไม่มีตัวแปรโฟลว์ที่ระบุในองค์ประกอบ <Source> ของนโยบายอยู่ |
steps.jws.InvalidClaim |
401 | สำหรับการอ้างสิทธิ์ที่ขาดหายไปหรือการอ้างสิทธิ์ไม่ตรงกัน หรือส่วนหัวที่ขาดหายไปหรือส่วนหัวไม่ตรงกัน |
steps.jws.InvalidJsonFormat |
401 | พบ JSON ที่ไม่ถูกต้องในส่วนหัว JWS |
steps.jws.InvalidJws |
401 | ข้อผิดพลาดนี้เกิดขึ้นเมื่อการยืนยันลายเซ็น JWS ล้มเหลว |
steps.jws.InvalidPayload |
401 | เพย์โหลด JWS ไม่ถูกต้อง |
steps.jws.InvalidSignature |
401 | ละเว้น <DetachedContent> และ JWS มีเพย์โหลดเนื้อหาที่ถูกแยกออก |
steps.jws.MissingPayload |
401 | ไม่มีเพย์โหลด JWS |
steps.jws.NoAlgorithmFoundInHeader |
401 | เกิดขึ้นเมื่อ JWS ข้ามส่วนหัวของอัลกอริทึม |
steps.jws.UnknownException |
401 | เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุ |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | เกิดขึ้นเมื่อ |
---|---|
InvalidAlgorithm |
ค่าที่ใช้ได้มีเพียง RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512 |
|
ข้อผิดพลาดอื่นๆ เกี่ยวกับการทำให้ใช้งานได้ที่เป็นไปได้ |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "TokenExpired" |
JWS.failed |
นโยบาย JWS ทั้งหมดตั้งค่าตัวแปรเดียวกันในกรณีที่ดำเนินการไม่สำเร็จ | jws.JWS-Policy.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
สำหรับการจัดการข้อผิดพลาด แนวทางปฏิบัติแนะนำคือให้ดักจับส่วน errorcode
ของข้อผิดพลาด
คำตอบ อย่าพึ่งพาข้อความใน faultstring
เนื่องจากอาจมีการเปลี่ยนแปลง
ตัวอย่างกฎข้อผิดพลาด
<FaultRules> <FaultRule name="JWS Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWS.failed=true</Condition> </FaultRule> </FaultRules>
นโยบาย DecodeJWT
ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ Edge กําหนดเมื่อนโยบายนี้ทําให้เกิดข้อผิดพลาด ข้อมูลนี้เป็นสิ่งสำคัญที่ต้องทราบหากคุณกำลังกำหนดกฎข้อผิดพลาดเพื่อจัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.jwt.FailedToDecode |
401 | เกิดขึ้นเมื่อนโยบายถอดรหัส JWT ไม่ได้ JWT อาจมีรูปแบบไม่ถูกต้อง ไม่ถูกต้อง หรือถอดรหัสไม่ได้ | build |
steps.jwt.FailedToResolveVariable |
401 | เกิดขึ้นเมื่อไม่มีตัวแปรโฟลว์ที่ระบุในองค์ประกอบ <Source> ของนโยบายอยู่ |
|
steps.jwt.InvalidToken |
401 | เกิดขึ้นเมื่อตัวแปรโฟลว์ที่ระบุในองค์ประกอบ <Source> ของนโยบายอยู่นอกขอบเขตหรือแก้ไขไม่ได้ |
build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidEmptyElement |
เกิดขึ้นเมื่อไม่ได้ระบุตัวแปรโฟลว์ที่มี JWT ที่จะถอดรหัสในองค์ประกอบ <Source> ของนโยบาย
|
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "TokenExpired" |
JWT.failed |
นโยบาย JWT ทั้งหมดตั้งค่าตัวแปรเดียวกันในกรณีที่ดำเนินการไม่สำเร็จ | JWT.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
สำหรับการจัดการข้อผิดพลาด แนวทางปฏิบัติแนะนำคือให้ดักจับส่วน errorcode
ของข้อผิดพลาด
คำตอบ อย่าพึ่งพาข้อความใน faultstring
เนื่องจากอาจมีการเปลี่ยนแปลง
ตัวอย่างกฎข้อผิดพลาด
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
นโยบาย ExtractVariable
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.extractvariables.ExecutionFailed |
500 |
ข้อผิดพลาดนี้เกิดขึ้นเมื่อ
|
build |
steps.extractvariables.ImmutableVariable |
500 | ตัวแปรที่ใช้ในนโยบายจะเปลี่ยนแปลงไม่ได้ นโยบายไม่สามารถตั้งค่านี้ได้ ตัวแปร | |
steps.extractvariables.InvalidJSONPath |
500 | ข้อผิดพลาดนี้เกิดขึ้นหากใช้เส้นทาง JSON ที่ไม่ถูกต้องในองค์ประกอบ JSONPath ของ
เช่น หากเพย์โหลด JSON ไม่มีออบเจ็กต์ Name
แต่คุณระบุ Name เป็นเส้นทางในนโยบาย ข้อผิดพลาดนี้จะเกิดขึ้น |
build |
steps.extractvariables.JsonPathParsingFailure |
500 | ข้อผิดพลาดนี้เกิดขึ้นเมื่อนโยบายไม่สามารถแยกวิเคราะห์เส้นทาง JSON และ
แยกข้อมูลจากตัวแปรโฟลว์ที่ระบุไว้ในองค์ประกอบ Source ปกติเป็นแบบนี้
จะเกิดขึ้นหากตัวแปรโฟลว์ที่ระบุในองค์ประกอบ Source ไม่อยู่ในองค์ประกอบปัจจุบัน
|
build |
steps.extractvariables.SetVariableFailed |
500 | ข้อผิดพลาดนี้เกิดขึ้นหากนโยบายไม่สามารถกำหนดค่าให้กับตัวแปรได้ ข้อผิดพลาดมักจะเกิดขึ้นหากคุณพยายามกำหนดค่าให้กับตัวแปรหลายตัวที่มีชื่อเริ่มต้น ที่มีคำเดียวกันในรูปแบบที่คั่นด้วยจุดที่ซ้อนกัน | build |
steps.extractvariables.SourceMessageNotAvailable |
500 | ข้อผิดพลาดนี้จะเกิดขึ้นหากข้อความ
ตัวแปรที่ระบุในองค์ประกอบ Source ของนโยบาย
เป็นอย่างใดอย่างหนึ่งต่อไปนี้
|
build |
steps.extractvariables.UnableToCast |
500 | ข้อผิดพลาดนี้เกิดขึ้นหากนโยบายไม่สามารถแคสต์ไฟล์ที่ดึงข้อมูลมาได้ ให้กับตัวแปร โดยปกติ กรณีนี้จะเกิดขึ้นหากคุณพยายามตั้งค่า ข้อมูลประเภทหนึ่งกับตัวแปรของประเภทข้อมูลอื่น | build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
NothingToExtract |
หากนโยบายไม่มีองค์ประกอบ URIPath , QueryParam ,
Header , FormParam , XMLPayload หรือ JSONPayload
การทำให้พร็อกซี API ใช้งานได้ล้มเหลว เพราะไม่มีข้อมูลให้ดึงข้อมูล |
build |
NONEmptyPrefixMappedToEmptyURI |
ข้อผิดพลาดนี้จะเกิดขึ้นหากนโยบายมีการกำหนดคำนำหน้าไว้ใน
Namespace องค์ประกอบภายใต้องค์ประกอบ XMLPayload แต่ไม่มี URI ที่
กำหนดไว้ |
build |
DuplicatePrefix |
ข้อผิดพลาดนี้เกิดขึ้นหากนโยบายมีคำนำหน้าเหมือนกันมากกว่า
1 ครั้งในองค์ประกอบ Namespace ใต้องค์ประกอบ XMLPayload |
build |
NoXPathsToEvaluate |
หากนโยบายไม่มีองค์ประกอบ XPath ภายใน
XMLPayload การทำให้พร็อกซี API ใช้งานได้ล้มเหลวเนื่องจากข้อผิดพลาดนี้
|
build |
EmptyXPathExpression |
หากนโยบายมีนิพจน์ XPath ที่ว่างเปล่าภายใน XMLPayload
การทำให้พร็อกซี API ใช้งานได้จะล้มเหลว |
build |
NoJSONPathsToEvaluate |
หากนโยบายไม่มีองค์ประกอบ JSONPath ภายใน
JSONPayload การทำให้พร็อกซี API ใช้งานได้ล้มเหลวเนื่องจากข้อผิดพลาดนี้ |
build |
EmptyJSONPathExpression |
หากนโยบายมีนิพจน์ XPath ที่ว่างเปล่าภายใน
XMLPayload การทำให้พร็อกซี API ใช้งานได้จึงล้มเหลว |
build |
MissingName |
หากนโยบายไม่มีแอตทริบิวต์ name ในนโยบาย
องค์ประกอบอย่างเช่น QueryParam , Header , FormParam หรือ
Variable หากจำเป็นต้องใช้ การทำให้พร็อกซี API ใช้งานได้จะล้มเหลว |
build |
PatternWithoutVariable |
หากนโยบายไม่ได้ระบุตัวแปรภายในองค์ประกอบ Pattern
การทำให้พร็อกซี API ใช้งานได้ล้มเหลว องค์ประกอบ Pattern ต้องมีชื่อ
ตัวแปรที่จะจัดเก็บข้อมูลที่แยกออกมา |
build |
CannotBeConvertedToNodeset |
หากนโยบายมีนิพจน์ XPath โดยที่ประเภท Variable
คือnodeset
แต่แปลงนิพจน์เป็น Nodeset ไม่ได้ ซึ่งทำให้การทำให้พร็อกซี API ใช้งานได้ล้มเหลว |
build |
JSONPathCompilationFailed |
นโยบายไม่สามารถคอมไพล์เส้นทาง JSON ที่ระบุ | |
InstantiationFailed |
สร้างอินสแตนซ์นโยบายไม่ได้ | |
XPathCompilationFailed |
หากคำนำหน้าหรือค่าที่ใช้ในองค์ประกอบ XPath ไม่ได้เป็นส่วนหนึ่งของ
เนมสเปซที่ประกาศไว้ในนโยบาย จากนั้นการติดตั้งใช้งานพร็อกซี API
ล้มเหลว |
build |
InvalidPattern |
หากคําจํากัดความองค์ประกอบ Pattern ไม่ถูกต้องในองค์ประกอบใดก็ตาม เช่น URIPath
QueryParam Header FormParam XMLPayload
หรือ JSONPayload ภายในนโยบาย
แล้วการติดตั้งใช้งาน
พร็อกซี API ล้มเหลว
|
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาดขณะรันไทม์ สำหรับข้อมูลเพิ่มเติม ดูสิ่งที่คุณ ที่ต้องทราบเกี่ยวกับข้อผิดพลาดด้านนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name = "SourceMessageNotAvailable" |
extractvariables.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | extractvariables.EV-ParseJsonResponse.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault":{ "detail":{ "errorcode":"steps.extractvariables.SourceMessageNotAvailable" }, "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse" } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name="Extract Variable Faults"> <Step> <Name>AM-CustomErrorMessage</Name> <Condition>(fault.name = "SourceMessageNotAvailable") </Condition> </Step> <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition> </FaultRule>
นโยบาย GenerateJWS
ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ Edge กําหนดเมื่อนโยบายนี้ทําให้เกิดข้อผิดพลาด ข้อมูลนี้เป็นสิ่งสำคัญที่คุณควรทราบหากคุณกำลังกำหนดกฎข้อผิดพลาดเพื่อจัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่ต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | เกิดขึ้นเมื่อ |
---|---|---|
steps.jws.GenerationFailed |
401 | นโยบายสร้าง JWS ไม่ได้ |
steps.jws.InsufficientKeyLength |
401 | สำหรับคีย์ที่มีขนาดเล็กกว่า 32 ไบต์สำหรับอัลกอริทึม HS256 |
steps.jws.InvalidClaim |
401 | สำหรับการอ้างสิทธิ์ที่ขาดหายไปหรือการอ้างสิทธิ์ไม่ตรงกัน หรือส่วนหัวที่ขาดหายไปหรือส่วนหัวไม่ตรงกัน |
steps.jws.InvalidCurve |
401 | เส้นโค้งที่คีย์ระบุไม่ถูกต้องสำหรับอัลกอริทึม Elliptic Curve |
steps.jws.InvalidJsonFormat |
401 | พบ JSON ที่ไม่ถูกต้องในส่วนหัว JWS |
steps.jws.InvalidPayload |
401 | เพย์โหลด JWS ไม่ถูกต้อง |
steps.jws.InvalidSignature |
401 | ละเว้น <DetachedContent> และ JWS มีเพย์โหลดเนื้อหาที่ถูกแยกออก |
steps.jws.KeyIdMissing |
401 | นโยบาย "ยืนยัน" ใช้ JWKS เป็นแหล่งที่มาสำหรับคีย์สาธารณะ แต่ JWS ที่ลงนามไม่มีพร็อพเพอร์ตี้ kid ในส่วนหัว |
steps.jws.KeyParsingFailed |
401 | ไม่สามารถแยกวิเคราะห์คีย์สาธารณะจากข้อมูลคีย์ที่ระบุ |
steps.jws.MissingPayload |
401 | ไม่มีเพย์โหลด JWS |
steps.jws.NoAlgorithmFoundInHeader |
401 | เกิดขึ้นเมื่อ JWS ข้ามส่วนหัวของอัลกอริทึม |
steps.jws.SigningFailed |
401 | ใน GenerateJWS สำหรับคีย์ที่มีขนาดเล็กกว่าขนาดต่ำสุดสำหรับอัลกอริทึม HS384 หรือ HS512 |
steps.jws.UnknownException |
401 | เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุ |
steps.jws.WrongKeyType |
401 | ประเภทคีย์ที่ระบุไม่ถูกต้อง เช่น หากคุณระบุคีย์ RSA สำหรับอัลกอริทึม Elliptic Curve หรือคีย์เส้นโค้งสำหรับอัลกอริทึม RSA |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | เกิดขึ้นเมื่อ |
---|---|
InvalidAlgorithm |
ค่าที่ใช้ได้มีเพียง RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512 |
|
ข้อผิดพลาดอื่นๆ เกี่ยวกับการทำให้ใช้งานได้ที่เป็นไปได้ |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "TokenExpired" |
JWS.failed |
นโยบาย JWS ทั้งหมดตั้งค่าตัวแปรเดียวกันในกรณีที่ดำเนินการไม่สำเร็จ | jws.JWS-Policy.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
สำหรับการจัดการข้อผิดพลาด แนวทางปฏิบัติแนะนำคือให้ดักจับส่วน errorcode
ของข้อผิดพลาด
คำตอบ อย่าพึ่งพาข้อความใน faultstring
เนื่องจากอาจมีการเปลี่ยนแปลง
ตัวอย่างกฎข้อผิดพลาด
<FaultRules> <FaultRule name="JWS Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWS.failed=true</Condition> </FaultRule> </FaultRules>
นโยบาย GenerateJWT
ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ Edge กําหนดเมื่อนโยบายนี้ทําให้เกิดข้อผิดพลาด ข้อมูลนี้เป็นสิ่งสำคัญที่ต้องทราบหากคุณกำลังกำหนดกฎข้อผิดพลาดเพื่อจัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | เกิดขึ้นเมื่อ |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | เกิดขึ้นเมื่อนโยบายการยืนยันมีอัลกอริทึมหลายรายการ |
steps.jwt.AlgorithmMismatch |
401 | อัลกอริทึมที่ระบุในนโยบายการสร้างไม่ตรงกับอัลกอริทึมในนโยบาย "ยืนยัน" อัลกอริทึมที่ระบุต้องตรงกัน |
steps.jwt.FailedToDecode |
401 | นโยบายนี้ถอดรหัส JWT ไม่ได้ JWT อาจเสียหาย |
steps.jwt.GenerationFailed |
401 | นโยบายสร้าง JWT ไม่ได้ |
steps.jwt.InsufficientKeyLength |
401 | สำหรับคีย์ที่มีขนาดเล็กกว่า 32 ไบต์สำหรับอัลกอริทึม HS256 ขนาดน้อยกว่า 48 ไบต์สำหรับอัลกอริทึม HS386 และน้อยกว่า 64 ไบต์สำหรับอัลกอริทึม HS512 |
steps.jwt.InvalidClaim |
401 | สำหรับการอ้างสิทธิ์ที่ขาดหายไปหรือการอ้างสิทธิ์ไม่ตรงกัน หรือส่วนหัวที่ขาดหายไปหรือส่วนหัวไม่ตรงกัน |
steps.jwt.InvalidCurve |
401 | เส้นโค้งที่คีย์ระบุไม่ถูกต้องสำหรับอัลกอริทึม Elliptic Curve |
steps.jwt.InvalidJsonFormat |
401 | พบ JSON ที่ไม่ถูกต้องในส่วนหัวหรือเพย์โหลด |
steps.jwt.InvalidToken |
401 | ข้อผิดพลาดนี้เกิดขึ้นเมื่อการยืนยันลายเซ็น JWT ล้มเหลว |
steps.jwt.JwtAudienceMismatch |
401 | การอ้างสิทธิ์กลุ่มเป้าหมายล้มเหลวในการยืนยันโทเค็น |
steps.jwt.JwtIssuerMismatch |
401 | การอ้างสิทธิ์ของผู้ออกบัตรล้มเหลวในการยืนยันโทเค็น |
steps.jwt.JwtSubjectMismatch |
401 | เรื่องการอ้างสิทธิ์ล้มเหลวในการยืนยันโทเค็น |
steps.jwt.KeyIdMissing |
401 | นโยบาย "ยืนยัน" ใช้ JWKS เป็นแหล่งที่มาสำหรับคีย์สาธารณะ แต่ JWT ที่ลงนามไม่มีพร็อพเพอร์ตี้ kid ในส่วนหัว |
steps.jwt.KeyParsingFailed |
401 | ไม่สามารถแยกวิเคราะห์คีย์สาธารณะจากข้อมูลคีย์ที่ระบุ |
steps.jwt.NoAlgorithmFoundInHeader |
401 | เกิดขึ้นเมื่อ JWT ไม่มีส่วนหัวอัลกอริทึม |
steps.jwt.NoMatchingPublicKey |
401 | นโยบายยืนยันใช้ JWKS เป็นแหล่งที่มาสำหรับคีย์สาธารณะ แต่ kid ใน JWT ที่ลงนามแล้วไม่ได้แสดงอยู่ใน JWKS |
steps.jwt.SigningFailed |
401 | ใน GenerateJWT สำหรับคีย์ที่มีขนาดเล็กกว่าขนาดต่ำสุดสำหรับอัลกอริทึม HS384 หรือ HS512 |
steps.jwt.TokenExpired |
401 | นโยบายจะพยายามยืนยันโทเค็นที่หมดอายุ |
steps.jwt.TokenNotYetValid |
401 | โทเค็นยังไม่ถูกต้อง |
steps.jwt.UnhandledCriticalHeader |
401 | ส่วนหัวที่พบในนโยบาย "ยืนยัน JWT" ในส่วนหัว crit จะไม่ปรากฏใน KnownHeaders |
steps.jwt.UnknownException |
401 | เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุ |
steps.jwt.WrongKeyType |
401 | ประเภทคีย์ที่ระบุไม่ถูกต้อง เช่น หากคุณระบุคีย์ RSA สำหรับอัลกอริทึม Elliptic Curve หรือคีย์เส้นโค้งสำหรับอัลกอริทึม RSA |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidNameForAdditionalClaim |
การทำให้ใช้งานได้จะล้มเหลวหากการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> มีชื่อที่จดทะเบียนอย่างใดอย่างหนึ่งต่อไปนี้ kid , iss , sub , aud , iat , exp , nbf หรือ jti
|
build |
InvalidTypeForAdditionalClaim |
หากการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ใช่ประเภท string , number , boolean หรือ map การทำให้ใช้งานได้จะล้มเหลว
|
build |
MissingNameForAdditionalClaim |
หากไม่ได้ระบุชื่อการอ้างสิทธิ์ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> การทำให้ใช้งานได้จะล้มเหลว
|
build |
InvalidNameForAdditionalHeader |
ข้อผิดพลาดนี้จะเกิดขึ้นเมื่อชื่อของการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> เป็น alg หรือ typ
|
build |
InvalidTypeForAdditionalHeader |
หากประเภทของการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ใช่ประเภท string , number , boolean หรือ map การทำให้ใช้งานได้จะล้มเหลว
|
build |
InvalidValueOfArrayAttribute |
ข้อผิดพลาดนี้เกิดขึ้นเมื่อค่าของแอตทริบิวต์อาร์เรย์ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ได้ตั้งค่าเป็น true หรือ false
|
build |
InvalidConfigurationForActionAndAlgorithm |
หากใช้องค์ประกอบ <PrivateKey> กับอัลกอริทึม HS Family หรือมีการใช้องค์ประกอบ <SecretKey> กับอัลกอริทึม Family ของ RSA การทำให้ใช้งานได้จะล้มเหลว
|
build |
InvalidValueForElement |
หากค่าที่ระบุในองค์ประกอบ <Algorithm> ไม่ใช่ค่าที่รองรับ การทำให้ใช้งานได้จะล้มเหลว
|
build |
MissingConfigurationElement |
ข้อผิดพลาดนี้จะเกิดขึ้นหากไม่ได้ใช้องค์ประกอบ <PrivateKey> กับอัลกอริทึมตระกูล RSA หรือไม่ได้ใช้องค์ประกอบ <SecretKey> กับอัลกอริทึมครอบครัว HS
|
build |
InvalidKeyConfiguration |
หากไม่ได้กำหนดองค์ประกอบย่อย <Value> ในองค์ประกอบ <PrivateKey> หรือ <SecretKey> การทำให้ใช้งานได้จะล้มเหลว
|
build |
EmptyElementForKeyConfiguration |
หากแอตทริบิวต์ ref ขององค์ประกอบย่อย <Value> ขององค์ประกอบ <PrivateKey> หรือ <SecretKey> ว่างเปล่าหรือไม่ได้ระบุ การทำให้ใช้งานได้จะล้มเหลว
|
build |
InvalidVariableNameForSecret |
ข้อผิดพลาดนี้เกิดขึ้นหากชื่อตัวแปรโฟลว์ที่ระบุในแอตทริบิวต์ ref ขององค์ประกอบย่อย <Value> ขององค์ประกอบ <PrivateKey> หรือ <SecretKey> ไม่มีคำนำหน้าส่วนตัว (private.)
|
build |
InvalidSecretInConfig |
ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบย่อย <Value> ขององค์ประกอบ <PrivateKey> หรือ <SecretKey> ไม่มีคำนำหน้าส่วนตัว (private.)
|
build |
InvalidTimeFormat |
หากค่าที่ระบุในองค์ประกอบ <NotBefore> ไม่ได้ใช้รูปแบบที่รองรับ การทำให้ใช้งานได้จะล้มเหลว
|
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "TokenExpired" |
JWT.failed |
นโยบาย JWT ทั้งหมดตั้งค่าตัวแปรเดียวกันในกรณีที่ดำเนินการไม่สำเร็จ | JWT.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
สำหรับการจัดการข้อผิดพลาด แนวทางปฏิบัติแนะนำคือให้ดักจับส่วน errorcode
ของข้อผิดพลาด
คำตอบ อย่าพึ่งพาข้อความใน faultstring
เนื่องจากอาจมีการเปลี่ยนแปลง
ตัวอย่างกฎข้อผิดพลาด
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
นโยบายป้ายข้อความของ Java
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.javacallout.ExecutionError |
500 | เกิดขึ้นเมื่อโค้ด Java ส่งข้อยกเว้นหรือแสดงผลเป็น Null ในระหว่างการบังคับใช้นโยบาย JavaScript | build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อมีการทำให้พร็อกซีที่มีนโยบายใช้งานได้
ชื่อข้อผิดพลาด | สตริงข้อผิดพลาด | สถานะ HTTP | เกิดขึ้นเมื่อ |
---|---|---|---|
ResourceDoesNotExist |
Resource with name
[name] and type [type] does not exist |
ไม่มี | ไม่มีไฟล์ที่ระบุในองค์ประกอบ <ResourceURL> |
JavaCalloutInstantiationFailed |
Failed to instantiate the JavaCallout Class [classname] |
ไม่มี | ไฟล์คลาสที่ระบุในองค์ประกอบ <ClassName> ไม่ได้อยู่ใน
โหล |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
ไม่มี | ดูสตริงข้อผิดพลาด ดูเพิ่มเติมที่รองรับ ซอฟต์แวร์และเวอร์ชันที่รองรับ |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
ไม่มี | ดูสตริงข้อผิดพลาด |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
ไม่มี | ดูสตริงข้อผิดพลาด |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
ไม่มี | ดูสตริงข้อผิดพลาด |
NoResourceForURL |
Could not locate a resource with URL [string] |
ไม่มี | ดูสตริงข้อผิดพลาด |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาด โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "ExecutionError" |
javacallout.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | javacallout.JC-GetUserData.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault":{ "faultstring":"Failed to execute JavaCallout. [policy_name]", "detail":{ "errorcode":"javacallout.ExecutionError" } } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
นโยบาย JavaScript
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่ส่งกลับและตัวแปรข้อบกพร่อง ที่ Edge กำหนดไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้สำคัญที่ควรทราบ หากคุณพัฒนากฎความผิด จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.javascript.ScriptExecutionFailed |
500 | นโยบาย JavaScript สามารถแสดงข้อผิดพลาด ScriptExecutionFailed ประเภทต่างๆ ได้ พบได้ทั่วไป ประเภทข้อผิดพลาดที่เห็น ได้แก่ RangeError ReferenceError, SyntaxError TypeError และ URIError | build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 | เกิดข้อผิดพลาดในโค้ด JavaScript ดูรายละเอียดจากสตริงข้อผิดพลาด | ไม่มี |
steps.javascript.ScriptSecurityError |
500 | เกิดข้อผิดพลาดด้านความปลอดภัยขณะเรียกใช้ JavaScript ดูสตริงข้อผิดพลาดสำหรับ รายละเอียด | ไม่มี |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidResourceUrlFormat |
หากรูปแบบของ URL ทรัพยากรที่ระบุภายในองค์ประกอบ <ResourceURL> หรือ <IncludeURL> ของนโยบาย JavaScript ไม่ถูกต้อง การทำให้พร็อกซี API ใช้งานได้จะล้มเหลว |
build |
InvalidResourceUrlReference |
หากองค์ประกอบ <ResourceURL> หรือ <IncludeURL>
อ้างอิงไฟล์ JavaScript ที่ไม่มีอยู่ การติดตั้งใช้งานพร็อกซี API จะล้มเหลว
ไฟล์แหล่งที่มาที่อ้างอิงต้องมีอยู่ในพร็อกซี API, สภาพแวดล้อม หรือองค์กร |
build |
WrongResourceType |
ข้อผิดพลาดนี้เกิดขึ้นระหว่างการทำให้ใช้งานได้หาก <ResourceURL> หรือ <IncludeURL>
องค์ประกอบของนโยบาย JavaScript หมายถึงประเภททรัพยากรใดๆ ที่ไม่ใช่ jsc (ไฟล์ JavaScript) |
build |
NoResourceURLOrSource |
การทำให้นโยบาย JavaScript ใช้งานได้อาจล้มเหลวด้วยข้อผิดพลาดนี้ หาก <ResourceURL>
ไม่มีการประกาศองค์ประกอบ หรือไม่มีการระบุ URL ทรัพยากรภายในองค์ประกอบนี้
องค์ประกอบ <ResourceURL> เป็นองค์ประกอบที่จำเป็น หรือประกาศเอลิเมนต์ <IncludeURL>
แต่ URL ของทรัพยากรไม่ได้กำหนดไว้ภายในองค์ประกอบนี้ องค์ประกอบ <IncludeURL> เป็นค่าที่ไม่บังคับ
แต่หากมีการประกาศไว้ คุณต้องระบุ URL ทรัพยากรภายในองค์ประกอบ <IncludeURL> |
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาดขณะรันไทม์ สำหรับข้อมูลเพิ่มเติม ดูสิ่งที่คุณ ที่ต้องทราบเกี่ยวกับข้อผิดพลาดด้านนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "ScriptExecutionFailed" |
javascript.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | javascript.JavaScript-1.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name="JavaScript Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition> </Step> <Condition>(javascript.JavaScript-1.failed = true) </Condition> </FaultRule>
นโยบาย JSONThreatProtection
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.jsonthreatprotection.ExecutionFailed |
500 | นโยบาย JSONThreatProtection สามารถแสดงข้อผิดพลาด ExecutionFailed หลายประเภท ข้อผิดพลาดเหล่านี้ส่วนใหญ่เกิดขึ้นเมื่อเกินเกณฑ์ที่กำหนดไว้ในนโยบาย เหล่านี้ ประเภทของข้อผิดพลาดมีดังนี้ ความยาวของชื่อรายการออบเจ็กต์ จำนวนรายการออบเจ็กต์ จำนวนองค์ประกอบของอาร์เรย์ ความลึกของคอนเทนเนอร์ ความยาวของค่าสตริงสตริง ข้อผิดพลาดนี้ยังเกิดขึ้นเมื่อเพย์โหลดมีออบเจ็กต์ JSON ที่ไม่ถูกต้อง | build |
steps.jsonthreatprotection.SourceUnavailable |
500 |
ข้อผิดพลาดนี้จะเกิดขึ้นหากข้อความ
ตัวแปรที่ระบุในองค์ประกอบ <Source> มีดังนี้
|
build |
steps.jsonthreatprotection.NonMessageVariable |
500 |
ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <Source> ได้รับการตั้งค่าเป็นตัวแปรที่
ไม่ใช่ประเภท
message
|
build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ไม่มี
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาด โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "SourceUnavailable" |
jsonattack.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | jsonattack.JTP-SecureRequest.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault": { "faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.jsonthreatprotection.ExecutionFailed" } } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name="JSONThreatProtection Policy Faults">
<Step>
<Name>AM-CustomErrorResponse</Name>
<Condition>(fault.name Matches "ExecutionFailed") </Condition>
</Step>
<Condition>(jsonattack.JPT-SecureRequest.failed = true) </Condition>
</FaultRule>
ประเภทนโยบาย JSONThreatProtection กำหนดรหัสข้อผิดพลาดต่อไปนี้
นโยบาย JSONtoXML
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 | เพย์โหลดอินพุต (JSON) ว่างเปล่าหรืออินพุต (JSON) ที่ส่งไปยังนโยบาย JSON ไปยัง XML ถูก ไม่ถูกต้องหรือผิดรูปแบบ | build |
steps.jsontoxml.InCompatibleTypes |
500 | ข้อผิดพลาดนี้เกิดขึ้นหากประเภทของตัวแปรที่กำหนดไว้ในองค์ประกอบ <Source> และ
องค์ประกอบ <OutputVariable> ไม่เหมือนกัน ประเภทของส่วนเสริม
ตัวแปรที่อยู่ในองค์ประกอบ <Source> และองค์ประกอบ <OutputVariable>
ที่ตรงกัน ประเภทที่ถูกต้องคือ message และ string |
build |
steps.jsontoxml.InvalidSourceType |
500 | ข้อผิดพลาดนี้เกิดขึ้นหากประเภทของตัวแปรที่ใช้กำหนดองค์ประกอบ <Source>
ไม่ถูกต้อง ประเภทตัวแปรที่ถูกต้องคือ message และ string |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 | ข้อผิดพลาดนี้เกิดขึ้นหากตัวแปรที่ระบุในองค์ประกอบ <Source> ของ JSON เป็น
นโยบาย XML เป็นประเภทสตริงและไม่มีการกำหนดองค์ประกอบ <OutputVariable>
องค์ประกอบ <OutputVariable> เป็นข้อมูลที่ต้องระบุเมื่อตัวแปรที่กำหนดไว้ใน <Source>
จัดอยู่ในประเภทสตริง |
build |
steps.jsontoxml.SourceUnavailable |
500 |
ข้อผิดพลาดนี้จะเกิดขึ้นหากข้อความ
ตัวแปรที่ระบุในองค์ประกอบ <Source> ของนโยบาย JSON เป็น XML ได้แก่
|
build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ไม่มี
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | jsontoxml.JSON-to-XML-1.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault": { "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available", "detail": { "errorcode": "steps.json2xml.SourceUnavailable" } } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name="JSON To XML Faults"> <Step> <Name>AM-SourceUnavailableMessage</Name> <Condition>(fault.name Matches "SourceUnavailable") </Condition> </Step> <Step> <Name>AM-BadJSON</Name> <Condition>(fault.name = "ExecutionFailed")</Condition> </Step> <Condition>(jsontoxml.JSON-to-XML-1.failed = true) </Condition> </FaultRule>
นโยบาย KeyValueMapEnforcements
ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ Edge กําหนดเมื่อนโยบายนี้ทําให้เกิดข้อผิดพลาด ข้อมูลนี้เป็นสิ่งสำคัญที่ต้องทราบหากคุณกำลังกำหนดกฎข้อผิดพลาดเพื่อจัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.keyvaluemapoperations.SetVariableFailed |
500 |
ข้อผิดพลาดนี้เกิดขึ้นหากคุณพยายามเรียกค่าจากแมปค่าคีย์ที่เข้ารหัส แล้วตั้งค่าเป็นตัวแปรที่มีชื่อไม่ได้ขึ้นต้นด้วย |
build |
steps.keyvaluemapoperations.UnsupportedOperationException |
500 |
ข้อผิดพลาดนี้เกิดขึ้นหากมีการตั้งค่าแอตทริบิวต์ |
build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidIndex |
หากแอตทริบิวต์ index ที่ระบุในองค์ประกอบ <Get> ของนโยบายการดำเนินการแมปค่าคีย์เป็น 0 หรือเป็นตัวเลขลบ จะทำให้การทำให้พร็อกซี API ใช้งานได้ไม่สำเร็จ ดัชนีจะเริ่มต้นจาก 1 ดังนั้นดัชนีที่เป็นจำนวนเต็ม 0 หรือจำนวนเต็มลบจึงถือว่าไม่ถูกต้อง
|
build |
KeyIsMissing |
ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <Key> หายไปทั้งหมด หรือองค์ประกอบ <Parameter> หายไปภายในองค์ประกอบ <Key> ภายใต้องค์ประกอบ <Entry> ขององค์ประกอบ <InitialEntries> ของนโยบายการดำเนินการแมปค่าคีย์
|
build |
ValueIsMissing |
ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <Value> หายไปใต้องค์ประกอบ <Entry> ขององค์ประกอบ <InitialEntries> ของนโยบายการดำเนินการแมปค่าคีย์ |
build |
นโยบาย LDAP
นโยบายนี้ใช้รหัสข้อผิดพลาดต่อไปนี้
รหัสข้อผิดพลาด | ข้อความ |
---|---|
InvalidAttributeName |
Invalid attribute name {0}. |
InvalidSearchBase |
Search base can not be empty. |
InvalidValueForPassword |
Invalid value for password field. It can not be empty. |
InvalidSearchScope |
Invalid scope {0}. Allowed scopes are {1}. |
InvalidUserCredentials |
Invalid user credentials. |
InvalidExternalLdapReference |
Invalid external ldap reference {0}. |
LdapResourceNotFound |
Ldap resource {0} not found. |
BaseDNRequired |
Base DN required. |
OnlyReferenceOrValueIsAllowed |
Only value or reference is allowed for {0}. |
AttributesRequired |
At least one attribute required for search action. |
UserNameIsNull |
User name is null. |
SearchQueryAndUserNameCannotBePresent |
Both search query and username can not be present in the authentication action.
Please specify either one of them. |
นโยบาย MessageLในเร็วๆ นี้
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 | ดูสตริงข้อผิดพลาด |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidProtocol |
การติดตั้งใช้งานนโยบาย MessageLcking อาจล้มเหลวเนื่องจากข้อผิดพลาดนี้หากโปรโตคอล
ที่ระบุภายในองค์ประกอบ <Protocol> ไม่ถูกต้อง โปรโตคอลที่ถูกต้องคือ TCP และ UDP
สำหรับการส่งข้อความ syslog ผ่าน TLS/SSL จะสามารถสนับสนุนเฉพาะ TCP เท่านั้น |
build |
InvalidPort |
การทำให้ใช้งานได้ของนโยบาย MessageLนั้นๆ อาจล้มเหลวเนื่องจากข้อผิดพลาดนี้ หากหมายเลขพอร์ต
ไม่ได้ระบุภายในองค์ประกอบ <Port> หรือหากไม่ถูกต้อง หมายเลขพอร์ตต้องเป็น
จำนวนเต็มที่มากกว่า 0 |
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | messagelogging.ML-LogMessages.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault":{ "detail":{ "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed" }, "faultstring":"Execution failed" } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name="MessageLogging"> <Step> <Name>ML-LogMessages</Name> <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition> </Step> <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition> </FaultRule>
นโยบายการตรวจสอบ OAS
ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ Edge กําหนดเมื่อนโยบายนี้ทําให้เกิดข้อผิดพลาด ข้อมูลนี้เป็นสิ่งสำคัญที่ต้องทราบหากคุณกำลังกำหนดกฎข้อผิดพลาดเพื่อจัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | |
---|---|---|---|
steps.oasvalidation.Failed |
500 | ตรวจสอบเนื้อหาของคำขอกับข้อกําหนดของ OpenAPI ที่ระบุไม่ได้ | |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
ตัวแปรที่ระบุในองค์ประกอบ |
|
steps.oasvalidation.NotMessageVariable |
500 |
องค์ประกอบ |
build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | |
---|---|---|
ResourceDoesNotExist |
ไม่มีข้อมูลจำเพาะของ OpenAPI ที่อ้างอิงในองค์ประกอบ <OASResource>
|
|
ResourceCompileFailed |
ข้อมูลจำเพาะของ OpenAPI ที่รวมอยู่ในการทำให้ใช้งานได้มีข้อผิดพลาดที่ทำให้ไม่สามารถคอมไพล์ได้ โดยทั่วไปเป็นการบ่งชี้ว่าข้อมูลจำเพาะไม่ใช่ OpenAPI Specification 3.0 ที่มีรูปแบบถูกต้อง | |
BadResourceURL |
ไม่สามารถประมวลผลข้อมูลจำเพาะของ OpenAPI ที่อ้างอิงในองค์ประกอบ <OASResource> ได้ ปัญหานี้อาจเกิดขึ้นหากไฟล์ไม่ใช่ไฟล์ JSON หรือ YAML หรือระบุ URL ของไฟล์ไม่ถูกต้อง
|
ตัวแปรของข้อผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาดขณะรันไทม์ ดูข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่คุณจำเป็นต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่แสดงในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของโค้ดข้อผิดพลาด | fault.name Matches "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นข้อผิดพลาด | oasvalidation.myoaspolicy.failed = true |
นโยบาย HIPAA
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | เกิดขึ้นเมื่อ |
---|---|---|
policies.populatecache.EntryCannotBeCached |
500 | ระบบแคชรายการไม่ได้ ออบเจ็กต์ข้อความที่กำลังแคชไม่ใช่อินสแตนซ์ของ ที่ซีเรียลได้ |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidCacheResourceReference |
ข้อผิดพลาดนี้เกิดขึ้นหากมีการตั้งค่าองค์ประกอบ <CacheResource> ในนโยบาย PopulateCache เป็น
ชื่อที่ไม่มีอยู่ในสภาพแวดล้อมที่ทำให้พร็อกซี API ใช้งานได้ |
build |
CacheNotFound |
แคชที่ระบุในองค์ประกอบ <CacheResource> ไม่
ที่มีอยู่ |
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาด โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | populatecache.POP-CACHE-1.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name="Populate Cache Fault"> <Step> <Name>AM-EntryCannotBeCached</Name> <Condition>(fault.name Matches "EntryCannotBeCached") </Condition> </Step> <Condition>(populatecache.POP-CACHE-1.failed = true) </Condition> </FaultRule>
นโยบาย LookupCache
ส่วนนี้อธิบายข้อความแสดงข้อผิดพลาดและตัวแปรโฟลว์ที่ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้สำคัญที่ต้องทราบ หากคุณกำลังพัฒนากฎข้อผิดพลาดสำหรับพร็อกซี ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
คำนำหน้ารหัสข้อผิดพลาด
ไม่มีข้อมูล
ข้อผิดพลาดเกี่ยวกับรันไทม์
นโยบายนี้จะไม่แสดงข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidCacheResourceReference |
ข้อผิดพลาดนี้เกิดขึ้นหากมีการตั้งค่าองค์ประกอบ <CacheResource> เป็นชื่อที่ไม่มีอยู่ในสภาพแวดล้อมที่ทำให้พร็อกซี API ใช้งานได้ |
build |
InvalidTimeout |
หากตั้งค่าองค์ประกอบ <CacheLookupTimeoutInSeconds> เป็นตัวเลขติดลบ จะทำให้พร็อกซี API ใช้งานได้ไม่สำเร็จ |
build |
CacheNotFound |
ข้อผิดพลาดนี้เกิดขึ้นหากไม่ได้สร้างแคชที่ระบุในข้อความแสดงข้อผิดพลาดบนคอมโพเนนต์โปรแกรมประมวลผลข้อความที่เฉพาะเจาะจง | build |
ตัวแปรของข้อผิดพลาด
ไม่มีข้อมูล
ตัวอย่างการตอบกลับข้อผิดพลาด
ไม่มีข้อมูล
นโยบายไม่ถูกต้องateCache
ส่วนนี้อธิบายข้อความแสดงข้อผิดพลาดและตัวแปรโฟลว์ที่ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้สำคัญที่ต้องทราบ หากคุณกำลังพัฒนากฎข้อผิดพลาดสำหรับพร็อกซี ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
คำนำหน้ารหัสข้อผิดพลาด
ไม่มีข้อมูล
ข้อผิดพลาดเกี่ยวกับรันไทม์
นโยบายนี้จะไม่แสดงข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidCacheResourceReference |
ข้อผิดพลาดนี้เกิดขึ้นหากมีการตั้งค่าองค์ประกอบ <CacheResource> ในนโยบาย invalidateCache เป็นชื่อที่ไม่มีอยู่ในสภาพแวดล้อมที่ทำให้พร็อกซี API ใช้งานได้ |
build |
CacheNotFound |
ข้อผิดพลาดนี้เกิดขึ้นหากไม่ได้สร้างแคชที่ระบุในข้อความแสดงข้อผิดพลาดบนคอมโพเนนต์โปรแกรมประมวลผลข้อความที่เฉพาะเจาะจง | build |
ตัวแปรของข้อผิดพลาด
ไม่มีข้อมูล
ตัวอย่างการตอบกลับข้อผิดพลาด
ไม่มีข้อมูล
นโยบาย ResponseCache
ส่วนนี้อธิบายข้อความแสดงข้อผิดพลาดและตัวแปรโฟลว์ที่ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้สำคัญที่ต้องทราบ หากคุณกำลังพัฒนากฎข้อผิดพลาดสำหรับพร็อกซี ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
คำนำหน้ารหัสข้อผิดพลาด
ไม่มีข้อมูล
ข้อผิดพลาดเกี่ยวกับรันไทม์
นโยบายนี้จะไม่แสดงข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidTimeout |
หากตั้งค่าองค์ประกอบ <CacheLookupTimeoutInSeconds> ของนโยบาย ResponseCache เป็นตัวเลขติดลบ การติดตั้งใช้งานพร็อกซี API จะไม่สําเร็จ |
build |
InvalidCacheResourceReference |
ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <CacheResource> ในนโยบาย ResponseCache เป็นชื่อที่ไม่มีอยู่ในสภาพแวดล้อมที่ทำให้พร็อกซี API ใช้งานได้ |
build |
ResponseCacheStepAttachmentNotAllowedReq |
ข้อผิดพลาดนี้เกิดขึ้นหากมีการแนบนโยบาย ResponseCache เดียวกันกับเส้นทางคําขอหลายเส้นทางภายในขั้นตอนใดก็ตามของพร็อกซี API | build |
ResponseCacheStepAttachmentNotAllowedResp |
ข้อผิดพลาดนี้เกิดขึ้นหากมีการแนบนโยบาย ResponseCache เดียวกันกับเส้นทางการตอบกลับหลายเส้นทางภายในโฟลว์ใดๆ ของพร็อกซี API | build |
InvalidMessagePatternForErrorCode |
ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <SkipCacheLookup> หรือองค์ประกอบ <SkipCachePopulation> ในนโยบาย ResponseCache มีเงื่อนไขที่ไม่ถูกต้อง |
build |
CacheNotFound |
ข้อผิดพลาดนี้เกิดขึ้นหากไม่ได้สร้างแคชที่ระบุในข้อความแสดงข้อผิดพลาดบนคอมโพเนนต์โปรแกรมประมวลผลข้อความที่เฉพาะเจาะจง | build |
ตัวแปรของข้อผิดพลาด
ไม่มีข้อมูล
ตัวอย่างการตอบกลับข้อผิดพลาด
ไม่มีข้อมูล
นโยบาย OAuthV2
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | ยกเลิกโดยการปฏิบัติงาน |
---|---|---|---|
steps.oauth.v2.access_token_expired |
401 | โทเค็นเพื่อการเข้าถึงหมดอายุแล้ว |
VerifyAccessToken |
steps.oauth.v2.access_token_not_approved |
401 | โทเค็นเพื่อการเข้าถึงถูกเพิกถอน | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist |
401 | ทรัพยากรที่ขอไม่มีผลิตภัณฑ์ API ใดๆ ที่เชื่อมโยงกับ โทเค็นเพื่อการเข้าถึง | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 | นโยบายคาดว่าจะพบโทเค็นเพื่อการเข้าถึงในตัวแปรที่ระบุไว้ใน
<AccessToken> องค์ประกอบ แต่หาตัวแปรไม่ได้ |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 | นโยบายที่คาดว่าจะพบรหัสการให้สิทธิ์ในตัวแปรที่ระบุใน
<Code> องค์ประกอบ แต่หาตัวแปรไม่ได้ |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 | นโยบายที่คาดว่าจะพบ Client-ID ในตัวแปรที่ระบุไว้ในส่วน
<ClientId> องค์ประกอบ แต่หาตัวแปรไม่ได้ |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 | นโยบายที่คาดว่าจะพบโทเค็นการรีเฟรชในตัวแปรที่ระบุใน
<RefreshToken> องค์ประกอบ แต่หาตัวแปรไม่ได้ |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 | นโยบายคาดว่าจะพบโทเค็นในตัวแปรที่ระบุไว้ในส่วน
<Tokens> องค์ประกอบ แต่หาตัวแปรไม่ได้ |
ValidateToken |
steps.oauth.v2.InsufficientScope |
403 | โทเค็นเพื่อการเข้าถึงที่แสดงในคำขอมีขอบเขตที่ไม่ตรงกับขอบเขต ที่ระบุในนโยบายโทเค็นเพื่อการเข้าถึงสำหรับการยืนยัน โปรดดูข้อมูลเกี่ยวกับขอบเขตที่หัวข้อการใช้งานขอบเขต OAuth2 | VerifyAccessToken |
steps.oauth.v2.invalid_access_token |
401 | โทเค็นเพื่อการเข้าถึงที่ส่งจากไคลเอ็นต์ไม่ถูกต้อง | VerifyAccessToken |
steps.oauth.v2.invalid_client |
401 |
ระบบจะแสดงชื่อข้อผิดพลาดนี้เมื่อพร็อพเพอร์ตี้ หมายเหตุ: ขอแนะนำให้เปลี่ยนกฎข้อผิดพลาดที่มีอยู่
เพื่อที่จะตรวจจับทั้ง |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.invalid_request |
400 | ชื่อข้อผิดพลาดนี้ใช้สำหรับข้อผิดพลาดหลายประเภท ซึ่งมักจะมีไว้สำหรับข้อผิดพลาด
หรือส่งพารามิเตอร์ที่ไม่ถูกต้องในคำขอ หาก <GenerateResponse> คือ
ตั้งค่าเป็น false ให้ใช้ตัวแปรความผิดพลาด (อธิบายไว้ด้านล่าง) เพื่อดึงรายละเอียดเกี่ยวกับ
เช่น ชื่อและสาเหตุของข้อผิดพลาด |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 | ส่วนหัวของการให้สิทธิ์ไม่มีคำว่า "Bearer" ซึ่งจำเป็นต้องมี สำหรับ
ตัวอย่าง: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNo\ |
401 |
พร็อกซี API ไม่อยู่ในผลิตภัณฑ์ที่เชื่อมโยงกับโทเค็นเพื่อการเข้าถึง เคล็ดลับ: ตรวจสอบว่าผลิตภัณฑ์ที่เชื่อมโยงกับโทเค็นเพื่อการเข้าถึง มีการกำหนดค่าอย่างถูกต้อง ตัวอย่างเช่น หากคุณใช้ไวลด์การ์ดในเส้นทางทรัพยากร โปรดตรวจสอบว่า มีการใช้ไวลด์การ์ดอย่างถูกต้อง โปรดดูรายละเอียดที่หัวข้อสร้างผลิตภัณฑ์ API ดูเพิ่มเติมที่ โพสต์ชุมชน Apigee สำหรับคำแนะนำเพิ่มเติมเกี่ยวกับสาเหตุของข้อผิดพลาดนี้ |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
ระบบจะแสดงชื่อข้อผิดพลาดนี้เมื่อพร็อพเพอร์ตี้ |
GenerateAccessToken |
steps.oauth.v2.InvalidParameter |
500 | นโยบายต้องระบุโทเค็นเพื่อการเข้าถึงหรือรหัสการให้สิทธิ์ แต่ไม่ได้ระบุ ทั้ง 2 อย่าง | GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
500 | องค์ประกอบ <Tokens>/<Token> กำหนดให้คุณต้องระบุโทเค็น
ประเภท (เช่น refreshtoken ) หากลูกค้าส่งฟอร์มผิดประเภท
|
ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 | ประเภทการตอบกลับคือ token แต่ไม่ได้ระบุประเภทการให้สิทธิ์ |
GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
ลูกค้าระบุประเภทการให้สิทธิ์ที่นโยบายไม่รองรับ (ไม่มีระบุไว้ใน <SupportedGrantTypes> ) หมายเหตุ: ขณะนี้มีข้อบกพร่องที่เป็นข้อผิดพลาดประเภทการให้สิทธิ์ที่ไม่รองรับ ไม่ถูกต้อง หากเกิดข้อผิดพลาดเกี่ยวกับประเภทการให้สิทธิ์ที่ไม่รองรับ พร็อกซีจะไม่ ให้ป้อนโฟลว์ข้อผิดพลาดตามที่คาดไว้ |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ |
---|---|
InvalidValueForExpiresIn |
สำหรับองค์ประกอบ |
InvalidValueForRefreshTokenExpiresIn |
สำหรับองค์ประกอบ <RefreshTokenExpiresIn> ค่าที่ถูกต้องจะเป็นบวก
จำนวนเต็มและ -1 |
InvalidGrantType |
ระบุประเภทการให้สิทธิ์ที่ไม่ถูกต้องใน <SupportedGrantTypes>
โปรดดูรายการประเภทที่ถูกต้องในข้อมูลอ้างอิงของนโยบาย |
ExpiresInNotApplicableForOperation |
ตรวจสอบว่าการดำเนินการที่ระบุใน <Operations> การรองรับองค์ประกอบ วันหมดอายุ ตัวอย่างเช่น การดำเนินการ VerifyToken จะไม่เกิดขึ้น |
RefreshTokenExpiresInNotApplicableForOperation |
ตรวจสอบว่าการดำเนินการที่ระบุใน <Operations> การรีเฟรชการสนับสนุนองค์ประกอบ การหมดอายุของโทเค็น ตัวอย่างเช่น การดำเนินการ VerifyToken จะไม่เกิดขึ้น |
GrantTypesNotApplicableForOperation |
ตรวจสอบว่าประเภทการให้สิทธิ์ที่ระบุใน <SupportedGrantTypes> ใช้ได้กับ การดำเนินการที่ระบุ |
OperationRequired |
คุณต้องระบุการดำเนินการในนโยบายนี้โดยใช้ หมายเหตุ: หากไม่มีองค์ประกอบ |
InvalidOperation |
คุณต้องระบุการดำเนินการที่ถูกต้องในนโยบายนี้โดยใช้
องค์ประกอบ หมายเหตุ: หากองค์ประกอบ |
TokenValueRequired |
คุณต้องระบุค่า <Token> ของโทเค็นใน
องค์ประกอบ <Tokens> |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาดขณะรันไทม์
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name = "invalid_request" |
oauthV2.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | oauthV2.GenerateAccesstoken.fault.name = invalid_request
หมายเหตุ: สำหรับการดำเนินการ VerifyAccessToken ชื่อข้อบกพร่องจะมีคำต่อท้ายนี้: |
oauthV2.policy_name.fault.cause |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
ตัวอย่างการตอบสนองข้อผิดพลาด
ระบบจะส่งคำตอบเหล่านี้กลับไปยังไคลเอ็นต์หาก <GenerateResponse>
เป็น true
หาก <GenerateResponse>
เป็น true นโยบายจะแสดงข้อผิดพลาด
ในรูปแบบนี้สำหรับการดำเนินการที่สร้างโทเค็นและรหัส ดูรายการทั้งหมดได้ที่
ข้อผิดพลาด HTTP ของ OAuth
ข้อมูลอ้างอิงการตอบกลับ
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}
หาก <GenerateResponse>
เป็น true นโยบายจะแสดงข้อผิดพลาด
ในรูปแบบนี้เพื่อยืนยันและตรวจสอบการดำเนินการ ดูรายการทั้งหมดได้ที่ข้อผิดพลาด HTTP HTTP
ข้อมูลอ้างอิงการตอบกลับ
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name=OAuthV2 Faults"> <Step> <Name>AM-InvalidClientResponse</Name> <Condition>(fault.name = "invalid_client") OR (fault.name = "InvalidClientIdentifier")</Condition> </Step> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>
นโยบาย GetOAuthV2Info
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน ชื่อข้อผิดพลาดที่แสดงด้านล่างคือสตริง
ที่กำหนดให้กับตัวแปร fault.name
เมื่อเกิดข้อผิดพลาด ดูรอยเลื่อน
ตัวแปรด้านล่างเพื่อดูรายละเอียดเพิ่มเติม
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ |
---|---|---|
steps.oauth.v2.access_token_expired |
500 | โทเค็นเพื่อการเข้าถึงที่ส่งไปยังนโยบายหมดอายุแล้ว |
steps.oauth.v2.authorization_code_expired |
500 | รหัสการให้สิทธิ์ที่ส่งไปยังนโยบายหมดอายุ |
steps.oauth.v2.invalid_access_token |
500 | โทเค็นเพื่อการเข้าถึงที่ส่งไปยังนโยบายไม่ถูกต้อง |
steps.oauth.v2.invalid_client-invalid_client_id |
500 | รหัสไคลเอ็นต์ที่ส่งไปยังนโยบายไม่ถูกต้อง |
steps.oauth.v2.invalid_refresh_token |
500 | โทเค็นการรีเฟรชที่ส่งไปยังนโยบายไม่ถูกต้อง |
steps.oauth.v2.invalid_request-authorization_code_invalid |
500 | รหัสการให้สิทธิ์ที่ส่งไปยังนโยบายไม่ถูกต้อง |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | โปรดดูที่ โพสต์ชุมชน Apigee นี้เพื่อดูข้อมูลเกี่ยวกับการแก้ปัญหาข้อผิดพลาดนี้ |
steps.oauth.v2.refresh_token_expired |
500 | โทเค็นการรีเฟรชที่ส่งไปยังนโยบายหมดอายุแล้ว |
ข้อผิดพลาดในการทำให้ใช้งานได้
โปรดดูข้อมูลเกี่ยวกับข้อผิดพลาดในการทำให้ใช้งานได้จากข้อความที่รายงานใน UI
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาดขณะรันไทม์
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2.policy_name.fault.cause |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name="OAuthV2 Faults"> <Step> <Name>AM-InvalidClientIdResponse</Name> </Step> <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition> </FaultRule>
ตั้งค่านโยบาย OAuthV2Info
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ |
---|---|---|
steps.oauth.v2.access_token_expired |
500 | โทเค็นเพื่อการเข้าถึงที่ส่งไปยังนโยบายหมดอายุแล้ว |
steps.oauth.v2.invalid_access_token |
500 | โทเค็นเพื่อการเข้าถึงที่ส่งไปยังนโยบายไม่ถูกต้อง |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | โปรดดูที่ โพสต์ชุมชน Apigee นี้เพื่อดูข้อมูลเกี่ยวกับการแก้ปัญหาข้อผิดพลาดนี้ |
ข้อผิดพลาดในการทำให้ใช้งานได้
โปรดดูข้อมูลเกี่ยวกับข้อผิดพลาดในการทำให้ใช้งานได้จากข้อความที่รายงานใน UI
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาดขณะรันไทม์
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | oauthV2.SetTokenInfo.cause = Invalid Access Token |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name=SetOAuthV2Info Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>
นโยบาย DeleteOAuthV2Info
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ |
---|---|---|
steps.oauth.v2.invalid_access_token |
401 | โทเค็นเพื่อการเข้าถึงที่ส่งไปยังนโยบายไม่ถูกต้อง |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 | รหัสการให้สิทธิ์ที่ส่งไปยังนโยบายไม่ถูกต้อง |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | โปรดดูที่ โพสต์ชุมชน Apigee นี้เพื่อดูข้อมูลเกี่ยวกับการแก้ปัญหาข้อผิดพลาดนี้ |
ข้อผิดพลาดในการทำให้ใช้งานได้
โปรดดูข้อมูลเกี่ยวกับข้อผิดพลาดในการทำให้ใช้งานได้จากข้อความที่รายงานใน UI
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาดขณะรันไทม์
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
ตัวอย่างกฎข้อผิดพลาด
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> </Step> <Condition>(fault.name = "invalid_access_token")</Condition> </FaultRule>
นโยบาย OAuthv1.0a
ประเภทนโยบาย OAuthV1 จะกําหนดรหัสข้อผิดพลาดต่อไปนี้
สําหรับรหัสข้อผิดพลาด HTTP ที่เกี่ยวข้องกับ OAuth โปรดดูที่ข้อมูลอ้างอิงการตอบกลับข้อผิดพลาด HTTP ของ OAuth
รหัสข้อผิดพลาด | ข้อความ |
---|---|
AppKeyNotResolved |
Could not resolve the app key with variable {0} |
ConsumerKeyNotResolved |
Could not resolve the consumer key with variable {0} |
RequestTokenNotResolved |
Could not resolve the request token with the variable {0} |
AccessTokenNotResolved |
Could not resolve the access token with the variable {0} |
ResponseGenerationError |
Error while generating response : {0} |
UnableToDetermineOperation |
Unable to determine an operation for stepDefinition {0} |
UnableToResolveOAuthConfig |
Unable to resolve the OAuth configuration for {0} |
AtLeastOneParamRequired |
At least one of AccessToken, RequestToken or ConsumerKey must be specified in
stepDefinition {0} |
SpecifyValueOrRefReqToken |
Specify Request Token as value or ref in stepDefinition {0} |
SpecifyValueOrRefAccToken |
Specify Access Token as value or ref in stepDefinition {0} |
SpecifyValueOrRefConKey |
Specify Consumer Key as value or ref in stepDefinition {0} |
SpecifyValueOrRefAppKey |
Specify App Key as value or ref in stepDefinition {0} |
ExpiresInNotApplicableForOperation |
ExpiresIn element is not valid for operation {0} |
InvalidValueForExpiresIn |
Invalid value for ExpiresIn element for operation {0} |
FailedToFetchApiProduct |
Failed to fetch api product for key {0} |
InvalidTokenType |
Valid token types : {0}, Invalid toke type {1} in stepDefinition {2} |
TokenValueRequired |
Token value is required in stepDefinition {0} |
FailedToResolveRealm |
Failed to resolve realm {0} |
นโยบาย GetOAuthV1Info
ไม่มีการระบุรหัสข้อผิดพลาดสําหรับนโยบายการรับ OAuth v1.0a
นโยบายลบ OAuthV1Info
เมื่อสำเร็จ นโยบายจะแสดงสถานะ 200
หากไม่สำเร็จ นโยบายจะแสดง 404 และเอาต์พุตที่คล้ายกับข้อความต่อไปนี้ (ขึ้นอยู่กับว่า คุณกำลังลบโทเค็นเพื่อการเข้าถึง โทเค็นคำขอ หรือเครื่องมือยืนยัน):
HTTP/1.1 404 Not Found Content-Type: application/json Content-Length: 144 Connection: keep-alive {"fault":{"faultstring":"Invalid Access Token","detail":{"errorcode":"keymanagement.service.invalid_request-access_token_invalid"}}}
นโยบาย PythonScript
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่ส่งกลับและตัวแปรข้อบกพร่อง ที่ Edge กำหนดไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้สำคัญที่ควรทราบ หากคุณพัฒนากฎความผิด จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 | นโยบาย PythonScript แสดงข้อผิดพลาด ScriptExecutionFailed หลายประเภท พบได้ทั่วไป ประเภทข้อผิดพลาดที่เห็น ได้แก่ NameError และ ZeroDivisionError | build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidResourceUrlFormat |
หากรูปแบบของ URL ทรัพยากรที่ระบุภายใน <ResourceURL> หรือ
องค์ประกอบ <IncludeURL> ของนโยบาย PythonScript ไม่ถูกต้อง การทำให้พร็อกซี API ใช้งานได้จึงล้มเหลว |
build |
InvalidResourceUrlReference |
หากองค์ประกอบ <ResourceURL> หรือ <IncludeURL>
อ้างอิงไฟล์ PythonScript ที่ไม่มีอยู่ การติดตั้งใช้งานพร็อกซี API จะล้มเหลว
ไฟล์แหล่งที่มาที่อ้างอิงต้องมีอยู่ในพร็อกซี API, สภาพแวดล้อม หรือองค์กร |
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาดขณะรันไทม์ สำหรับข้อมูลเพิ่มเติม ดูสิ่งที่คุณ ที่ต้องทราบเกี่ยวกับข้อผิดพลาดด้านนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | pythonscript.PythonScript-1.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name="PythonScript Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition> </Step> <Condition>(pythonscript.PythonScript-1.failed = true) </Condition> </FaultRule>
นโยบายโควต้า
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 | เกิดขึ้นเมื่อไม่ได้กำหนดองค์ประกอบ <Interval> ภายในนโยบายโควต้า องค์ประกอบนี้
เป็นข้อมูลบังคับและใช้เพื่อระบุช่วงเวลาที่ใช้กับโควต้า ช่วงเวลา
อาจเป็นนาที ชั่วโมง วัน สัปดาห์ หรือเดือนตามที่กำหนดไว้ในองค์ประกอบ <TimeUnit> |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 | เกิดขึ้นเมื่อไม่ได้กำหนดองค์ประกอบ <TimeUnit> ภายในนโยบายโควต้า องค์ประกอบนี้
เป็นข้อมูลบังคับและใช้เพื่อระบุหน่วยเวลาที่ใช้กับโควต้า ช่วงเวลา
อาจเป็นนาที ชั่วโมง วัน สัปดาห์ หรือเดือน |
build |
policies.ratelimit.InvalidMessageWeight |
500 | เกิดขึ้นเมื่อค่าขององค์ประกอบ <MessageWeight> ที่ระบุผ่านตัวแปรโฟลว์
ไม่ถูกต้อง (ค่าที่ไม่ใช่จำนวนเต็ม) |
build |
policies.ratelimit.QuotaViolation |
500 | เกินโควต้าแล้ว | ไม่มี |
ข้อผิดพลาดในการทำให้ใช้งานได้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidQuotaInterval |
หากช่วงเวลาโควต้าที่ระบุในองค์ประกอบ <Interval> ไม่
จำนวนเต็ม การทำให้พร็อกซี API ใช้งานได้ล้มเหลว ตัวอย่างเช่น ถ้าช่วงโควต้า
ที่ระบุคือ 0.1 ในองค์ประกอบ <Interval> แล้วการทำให้ใช้งานได้ของ
พร็อกซี API ล้มเหลว
|
build |
InvalidQuotaTimeUnit |
หากระบบไม่รองรับหน่วยเวลาที่ระบุในองค์ประกอบ <TimeUnit>
การทำให้พร็อกซี API ใช้งานได้ล้มเหลว หน่วยเวลาที่รองรับคือ minute
hour , day , week และ month
|
build |
InvalidQuotaType |
หากประเภทของโควต้าที่ระบุโดยแอตทริบิวต์ type ใน <Quota>
องค์ประกอบไม่ถูกต้อง การทำให้พร็อกซี API ใช้งานได้จึงล้มเหลว
ประเภทโควต้าที่รองรับคือ default , calendar , flexi และ rollingwindow
|
build |
InvalidStartTime |
หากรูปแบบของเวลาที่ระบุในองค์ประกอบ <StartTime> คือ
จะทำให้การใช้งานพร็อกซี API ล้มเหลว รูปแบบที่ถูกต้องคือ yyyy-MM-dd HH:mm:ss
ซึ่งจะอยู่ในรูปแบบวันที่และเวลา ISO 8601 สำหรับ
ตัวอย่างเช่น หากเวลาที่ระบุในองค์ประกอบ <StartTime> คือ
7-16-2017 12:00:00 การทำให้พร็อกซี API ใช้งานได้ล้มเหลว
|
build |
StartTimeNotSupported |
หากมีการระบุองค์ประกอบ <StartTime> ซึ่งไม่ได้กำหนดประเภทโควต้า
calendar การทำให้พร็อกซี API ใช้งานได้ล้มเหลว องค์ประกอบ <StartTime> คือ
รองรับเฉพาะโควต้าประเภท calendar ตัวอย่างเช่น หากมีการตั้งค่าแอตทริบิวต์ type
เป็น flexi หรือ rolling window ในองค์ประกอบ <Quota> แล้วตามด้วยค่า
การทำให้พร็อกซี API ใช้งานได้ล้มเหลว
|
build |
InvalidTimeUnitForDistributedQuota |
หากตั้งค่าองค์ประกอบ <Distributed> เป็น true และตั้งค่าองค์ประกอบ <TimeUnit> เป็น
second การทำให้พร็อกซี API ใช้งานได้ล้มเหลว หน่วยเวลา second ไม่ถูกต้องสำหรับ
โควต้าแบบกระจาย |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
หากค่าที่ระบุสำหรับองค์ประกอบ <SyncIntervalInSeconds> ภายในองค์ประกอบ
องค์ประกอบ <AsynchronousConfiguration> ในนโยบายโควต้ามีค่าน้อยกว่า 0 ดังนั้นค่า
การทำให้พร็อกซี API ใช้งานได้ล้มเหลว |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
หากค่าขององค์ประกอบ <AsynchronousConfiguration> ได้รับการตั้งค่าเป็น true ในนโยบายโควต้า ซึ่ง
มีการกำหนดค่าอะซิงโครนัสโดยใช้องค์ประกอบ <AsynchronousConfiguration> แล้ว
การทำให้พร็อกซี API ใช้งานได้ล้มเหลว |
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาด โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | ratelimit.QT-QuotaPolicy.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRules> <FaultRule name="Quota Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "QuotaViolation") </Condition> </Step> <Condition>ratelimit.Quota-1.failed=true</Condition> </FaultRule> </FaultRules>
นโยบายการรีเซ็ตโควต้า
ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ Edge กําหนดเมื่อนโยบายนี้ทําให้เกิดข้อผิดพลาด ข้อมูลนี้เป็นสิ่งสำคัญที่ต้องทราบหากคุณกำลังกำหนดกฎข้อผิดพลาดเพื่อจัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | นโยบายโควต้าที่ระบุในองค์ประกอบ <Quota> ของนโยบายการรีเซ็ตโควต้าไม่ได้กำหนดในพร็อกซี API จึงไม่พร้อมใช้งานระหว่างขั้นตอน องค์ประกอบ <Quota> เป็นองค์ประกอบที่จำเป็นและระบุนโยบายโควต้าเป้าหมายที่ควรอัปเดตตัวนับผ่านนโยบายการรีเซ็ตโควต้า |
build |
policies.resetquota.FailedToResolveAllowCountRef |
ไม่มีข้อมูล | การอ้างอิงไปยังตัวแปรที่มีจำนวนที่อนุญาตในองค์ประกอบ <Allow> ของนโยบายไม่สามารถแปลงเป็นค่าได้ องค์ประกอบนี้เป็นสิ่งที่จำเป็นและระบุจำนวนที่จะลดตัวนับโควต้า |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 | ระบบจับคู่ตัวแปรที่แอตทริบิวต์ ref อ้างอิงในองค์ประกอบ <Quota> ไม่ได้ |
build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidCount |
หากค่าการนับที่ระบุในองค์ประกอบ <Allow> ของนโยบายการรีเซ็ตโควต้าไม่ใช่จำนวนเต็ม การทำให้พร็อกซี API ใช้งานได้จะไม่สำเร็จ
|
build |
นโยบาย RaiseFault
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่ส่งกลับและตัวแปรข้อบกพร่อง ที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่ สิ่งที่คุณต้องรู้เกี่ยวกับข้อผิดพลาดของนโยบายและ การจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ |
---|---|---|
steps.raisefault.RaiseFault |
500 | ดูสตริงข้อผิดพลาด |
ข้อผิดพลาดในการทำให้ใช้งานได้
ไม่มี
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ใน ตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดเป็นชื่อสุดท้าย ของรหัสข้อผิดพลาด | fault.name = "RaiseFault" |
raisefault.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบาย เกิดความผิดพลาด | raisefault.RF-ThrowError.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault":{ "detail":{ "errorcode":"steps.raisefault.RaiseFault" }, "faultstring":"Raising fault. Fault name: [name]" } }
นโยบาย regularExpressionProtection
ส่วนนี้อธิบายรหัสข้อผิดพลาดและข้อความที่แสดงผลและตัวแปรความผิดพลาดที่ Edge กำหนดเมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้เป็นสิ่งสำคัญที่ต้องทราบ หากคุณกำลังกำหนดกฎข้อผิดพลาดเพื่อจัดการกับข้อผิดพลาด หากต้องการบันทึกข้อผิดพลาดและเพิ่มข้อผิดพลาดที่กำหนดเอง ให้ตั้งค่าแอตทริบิวต์ continueOnError="true"
ในองค์ประกอบรูทของนโยบาย
ดูข้อมูลเพิ่มเติมได้ที่
สิ่งที่คุณจำเป็นต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดที่แสดงผลจากนโยบาย Edge มีรูปแบบที่สอดคล้องกันตามที่อธิบายไว้ในข้อมูลอ้างอิงรหัสข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | ข้อความ |
---|---|
ExecutionFailed | เรียกใช้ regularExpressionProtection StepDefinition {0} ไม่สำเร็จ สาเหตุ: {1} |
InstantiationFailed | ไม่สามารถสร้างอินสแตนซ์ regularExpressionProtection StepDefinition {0} |
NonMessageVariable | ตัวแปร {0} ไม่แปลค่าเป็นข้อความ |
SourceMessageNotAvailable | ไม่มีข้อความ {0} สำหรับ regularExpressionProtection StepDefinition {1} |
ThreatDetected | ภัยคุกคามของนิพจน์ทั่วไปที่ตรวจพบใน {0}: นิพจน์ทั่วไป: {1} อินพุต: {2} |
VariableResolutionFailed | แก้ไขตัวแปร {0} ไม่สำเร็จ |
ข้อผิดพลาดในการทำให้ใช้งานได้
รหัสข้อผิดพลาด | ข้อความ | แก้ไข |
---|---|---|
CannotBeConvertedToNodeset | regularExpressionProtection {0}: ผลลัพธ์ของ xpath {1} แปลงเป็นชุดโหนดไม่ได้ บริบท {2} | build |
DuplicatePrefix | regularExpressionProtection {0}: คำนำหน้าซ้ำ {1} | build |
EmptyJSONPathExpression | regularExpressionProtection {0}: นิพจน์ JSONPath ว่างเปล่า | build |
EmptyXPathExpression | regularExpressionProtection {0}: นิพจน์ XPath ว่างเปล่า | build |
InvalidRegularExpression | regularExpressionProtection {0}: นิพจน์ทั่วไปไม่ถูกต้อง {1}, บริบท {2} | build |
JSONPathCompilationFailed | regularExpressionProtection {0}: คอมไพล์ jsonpath {1} ไม่สำเร็จ บริบท {2} | build |
NONEmptyPrefixMappedToEmptyURI | regularExpressionProtection {0}: คำนำหน้าที่ไม่ว่างเปล่า {1} แมปกับ URI ที่ว่างเปล่าไม่ได้ | build |
NoPatternsToEnforce | regularExpressionProtection {0}: ไม่มีรูปแบบที่จะบังคับใช้ใน {1} | build |
NothingToEnforce | RegularExpressionProtection {0}: ต้องมี URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload อย่างน้อย 1 รายการ | build |
XPathCompilationFailed | regularExpressionProtection {0}: คอมไพล์ xpath ไม่สำเร็จ {1} บริบท {2} | build |
ตัวแปรของข้อผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของความผิดพลาดตามที่ระบุไว้ในตารางด้านบน | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นข้อผิดพลาด | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
นโยบาย SOAPMessageValidation
ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ Edge กําหนดเมื่อนโยบายนี้ทําให้เกิดข้อผิดพลาด ข้อมูลนี้เป็นสิ่งสำคัญที่ต้องทราบหากคุณกำลังกำหนดกฎข้อผิดพลาดเพื่อจัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
ข้อผิดพลาดนี้เกิดขึ้นหากตัวแปรที่ระบุในองค์ประกอบ
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
ข้อผิดพลาดนี้เกิดขึ้นหากมีการตั้งค่าองค์ประกอบ ตัวแปรประเภทข้อความจะเป็นตัวแทนของคำขอและการตอบกลับ HTTP ทั้งหมด ตัวแปรโฟลว์ Edge ในตัว |
build |
steps.messagevalidation.Failed |
500 | ข้อผิดพลาดนี้เกิดขึ้นหากนโยบาย SOAPMessageValidation ตรวจสอบเพย์โหลดของข้อความอินพุตกับสคีมา XSD หรือคำจำกัดความ WSDL ไม่สำเร็จ และจะเกิดขึ้นหากมี JSON หรือ XML ที่มีรูปแบบไม่ถูกต้องในข้อความเพย์โหลด | build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidResourceType |
องค์ประกอบ <ResourceURL> ในนโยบาย SOAPMessageValidation มีการตั้งค่าเป็นประเภททรัพยากรที่นโยบายไม่รองรับ
|
build |
ResourceCompileFailed |
สคริปต์ทรัพยากรที่อ้างอิงในองค์ประกอบ <ResourceURL> ของนโยบาย SOAPMessageValidation มีข้อผิดพลาดที่ทำให้คอมไพล์ไม่ได้
|
build |
RootElementNameUnspecified |
องค์ประกอบ <Element> ในนโยบาย SOAPMessageValidation ไม่มีชื่อขององค์ประกอบราก |
build |
InvalidRootElementName |
องค์ประกอบ <Element> ในนโยบาย SOAPMessageValidation มีชื่อองค์ประกอบรูทที่ไม่สอดคล้องกับกฎ XML สำหรับการตั้งชื่อองค์ประกอบที่ถูกต้อง |
build |
นโยบาย SAMLAssertion
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดง และตัวแปรข้อผิดพลาดที่กำหนดโดย Edge เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
SourceNotConfigured |
องค์ประกอบต่อไปนี้อย่างน้อย 1 รายการสำหรับ Verified SAML Assertion
ไม่ได้กำหนดนโยบายหรือว่างเปล่า: <Source> , <XPath>
<Namespaces> , <Namespace>
|
build |
TrustStoreNotConfigured |
หากองค์ประกอบ <TrustStore> ว่างเปล่าหรือไม่ได้ระบุใน
นโยบาย VerifySAMLAssertion จะทำให้การทำให้พร็อกซี API ใช้งานได้ล้มเหลว
ต้องระบุ Trust Store ที่ถูกต้อง
|
build |
NullKeyStoreAlias |
หากองค์ประกอบย่อย <Alias> ว่างเปล่าหรือไม่ได้ระบุใน <Keystore>
ของนโยบาย Generate SAML Assertion แล้วทำให้ API ใช้งานได้
พร็อกซีไม่ทำงาน ต้องมีชื่อแทนคีย์สโตร์ที่ถูกต้อง
|
build |
NullKeyStore |
หากองค์ประกอบย่อย <Name> ว่างเปล่าหรือไม่ได้ระบุใน <Keystore>
ของนโยบาย GenerateSAMLAssertion แล้ว การทำให้ API ใช้งานได้
พร็อกซีไม่ทำงาน ต้องระบุชื่อคีย์สโตร์ที่ถูกต้อง
|
build |
NullIssuer |
หากองค์ประกอบ <Issuer> ว่างเปล่าหรือไม่ได้ระบุในส่วน "สร้าง SAML"
นโยบายการยืนยัน การทำให้พร็อกซี API ใช้งานได้ล้มเหลว ต
ต้องระบุค่า <Issuer> ที่ถูกต้อง
|
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาด ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
สำหรับการกำหนดค่านโยบายการยืนยัน SAML ที่ตรวจสอบความถูกต้อง คำนำหน้าข้อผิดพลาดคือ
ValidateSAMLAssertion |
GenerateSAMLAssertion.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRules> <FaultRule name="invalid_saml_rule"> <Step> <Name>invalid-saml</Name> </Step> <Condition>(GenerateSAMLAssertion.failed = "true")</Condition> </FaultRule> </FaultRules>
นโยบาย Serviceส่วนขยายไฮไลต์
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
ข้อผิดพลาดนี้อาจเกิดขึ้นในกรณีต่อไปนี้
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 | ตัวแปรคำขอที่ระบุในนโยบายไม่ใช่ประเภท "ข้อความ" ตัวอย่างเช่น หาก เป็นสตริงหรือประเภทที่ไม่ใช่ข้อความ คุณจะเห็นข้อผิดพลาดนี้ | build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 | ตัวแปรคำขอที่ระบุในนโยบายไม่ใช่ประเภท "ข้อความคำขอ" สำหรับ เช่น ถ้าเป็นประเภทการตอบกลับ คุณจะเห็นข้อผิดพลาดนี้ | build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
URLMissing |
องค์ประกอบ <URL> ภายใน <HTTPTargetConnection>
ไม่มีหรือว่างเปล่า |
build |
ConnectionInfoMissing |
ข้อผิดพลาดนี้เกิดขึ้นหากนโยบายไม่มี
<HTTPTargetConnection> หรือ <LocalTargetConnection>
|
build |
InvalidTimeoutValue |
ข้อผิดพลาดนี้เกิดขึ้นหากค่า <Timeout> เป็นลบหรือ 0 |
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | servicecallout.SC-GetUserData.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
ตัวอย่างกฎข้อผิดพลาด
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
นโยบายของ SpikeArrest
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่ส่งกลับและตัวแปรข้อบกพร่อง ที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่ สิ่งที่จำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
ข้อผิดพลาดนี้เกิดขึ้นหากมีการอ้างอิงถึงตัวแปรที่มีการตั้งค่าอัตรา
ภายในองค์ประกอบ <Rate> ไม่สามารถแก้ไขเป็นค่าภายใน Spike Arrest
องค์ประกอบนี้เป็นแบบบังคับและใช้เพื่อระบุอัตราการจับกุมที่เพิ่มขึ้นอย่างฉับพลันใน
ในรูปแบบ intpm หรือ intps |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
ข้อผิดพลาดนี้เกิดขึ้นหากค่าที่ระบุสำหรับองค์ประกอบ <MessageWeight> ถึง
ตัวแปรโฟลว์ไม่ถูกต้อง (ค่าที่ไม่ใช่จำนวนเต็ม) |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
เกินขีดจำกัดของอัตรา |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidAllowedRate |
หากอัตราการจับกุมที่เพิ่มขึ้นอย่างฉับพลันที่ระบุไว้ในองค์ประกอบ <Rate> ของการจับกุม Spike
นโยบายไม่ใช่จำนวนเต็มหรือหากราคาไม่มี ps หรือ pm เป็นคำต่อท้าย
การทำให้พร็อกซี API ใช้งานได้ล้มเหลว |
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ใน ตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดเป็นส่วนสุดท้าย ของรหัสข้อผิดพลาด | fault.name Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | ratelimit.SA-SpikeArrestPolicy.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
ตัวอย่างการตอบกลับข้อผิดพลาดมีดังนี้
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
ตัวอย่างกฎข้อผิดพลาด
ด้านล่างนี้เป็นตัวอย่างกฎข้อผิดพลาดในการจัดการข้อผิดพลาด SpikeArrestViolation
<FaultRules> <FaultRule name="Spike Arrest Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "SpikeArrestViolation") </Condition> </Step> <Condition>ratelimit.Spike-Arrest-1.failed=true</Condition> </FaultRule> </FaultRules>
นโยบายเครื่องมือรวบรวมสถิติ
ส่วนนี้อธิบายข้อความแสดงข้อผิดพลาดและตัวแปรโฟลว์ที่ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้สำคัญที่ต้องทราบ หากคุณกำลังพัฒนากฎข้อผิดพลาดสำหรับพร็อกซี ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ไม่มี
ข้อผิดพลาดในการทำให้ใช้งานได้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
UnsupportedDatatype |
หากระบบไม่รองรับประเภทของตัวแปรที่ระบุโดยแอตทริบิวต์ ref ในองค์ประกอบ <Statistic> ของนโยบายเครื่องมือรวบรวมสถิติ จะทำให้ใช้งานพร็อกซี API ไม่สำเร็จ ประเภทข้อมูลที่รองรับ ได้แก่ string , integer , float , long , double และ boolean |
build |
InvalidName |
หากชื่อที่ใช้อ้างอิงข้อมูลที่รวบรวมสำหรับตัวแปรที่ระบุซึ่งกำหนดภายในองค์ประกอบ <Statistic> ของนโยบายเครื่องมือรวบรวมสถิติขัดแย้งกับตัวแปรที่ระบบกำหนด การทำให้พร็อกซี API ใช้งานได้จะไม่สำเร็จ ตัวแปรที่กำหนดโดยระบบที่รู้จักบางรายการคือ organization และ environment |
build |
DatatypeMissing |
หากไม่มีประเภทของตัวแปรที่ระบุโดยแอตทริบิวต์ ref ในองค์ประกอบ <Statistic> ของนโยบายเครื่องมือรวบรวมสถิติ จะทำให้ใช้งานพร็อกซี API ไม่สำเร็จ |
build |
ตัวแปรของข้อผิดพลาด
ไม่มี
นโยบาย โปรดยืนยัน APIKey
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ |
---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | บริษัทที่เชื่อมโยงกับแอปนักพัฒนาซอฟต์แวร์ที่มีคีย์ API ที่คุณใช้อยู่มี สถานะไม่ใช้งาน เมื่อสถานะของบริษัทถูกตั้งค่าเป็นไม่ทำงาน คุณจะไม่สามารถเข้าถึง หรือแอปที่เชื่อมโยงกับบริษัทนั้น ผู้ดูแลระบบองค์กรสามารถเปลี่ยนสถานะของบริษัทได้ โดยใช้ Management API โปรดดูที่ตั้งค่าสถานะ ของบริษัท |
keymanagement.service.DeveloperStatusNotActive |
401 |
นักพัฒนาซอฟต์แวร์ที่สร้างแอปนักพัฒนาซอฟต์แวร์ซึ่งมีคีย์ API ที่คุณใช้อยู่ สถานะไม่ทำงาน เมื่อตั้งค่าสถานะนักพัฒนาแอปเป็นไม่ได้ใช้งาน แอปนักพัฒนาซอฟต์แวร์แอปใดก็ตาม ที่นักพัฒนาซอฟต์แวร์ดังกล่าวสร้างขึ้นจะถูกปิดใช้งาน ผู้ใช้ที่ดูแลระบบที่มีสิทธิ์ที่เหมาะสม (เช่น ผู้ดูแลระบบองค์กร) สามารถเปลี่ยนสถานะของนักพัฒนาซอฟต์แวร์ได้ดังนี้ ด้วยวิธีต่อไปนี้
|
keymanagement.service.invalid_client-app_not_approved |
401 | แอปนักพัฒนาซอฟต์แวร์ที่เชื่อมโยงกับคีย์ API ถูกเพิกถอนแล้ว แอปที่ถูกเพิกถอนไม่สามารถ เข้าถึงผลิตภัณฑ์ API และเรียกใช้ API ที่จัดการโดย Apigee Edge ไม่ได้ ผู้ดูแลระบบองค์กรสามารถทำสิ่งต่อไปนี้ เปลี่ยนสถานะของแอปนักพัฒนาซอฟต์แวร์โดยใช้ API การจัดการ โปรดดู อนุมัติหรือเพิกถอนแอปนักพัฒนาซอฟต์แวร์ |
oauth.v2.FailedToResolveAPIKey |
401 | นโยบายนี้คาดว่าจะพบคีย์ API ในตัวแปรที่ระบุไว้ในส่วน <APIKey> องค์ประกอบ ข้อผิดพลาดนี้จะเกิดขึ้นเมื่อ ไม่มีตัวแปรอยู่ (แก้ไขไม่ได้) |
oauth.v2.InvalidApiKey |
401 | Edge ได้รับคีย์ API แล้ว แต่คีย์ไม่ถูกต้อง เมื่อ Edge ค้นหาคีย์ใน ฐานข้อมูลนั้นต้องตรงกับ ชื่อ ที่ส่งไปในคำขอทุกประการ กรณีที่ API ใช้งานได้ ให้ตรวจดูว่าไม่ได้สร้างคีย์ใหม่ หากมีการสร้างคีย์ใหม่ คุณจะเห็น ข้อผิดพลาดนี้หากคุณพยายามใช้คีย์เก่า โปรดดูรายละเอียดที่หัวข้อลงทะเบียนแอปและจัดการ API |
oauth.v2.InvalidApiKeyForGivenResource |
401 | Edge ได้รับคีย์ API แล้ว และคีย์ดังกล่าวถูกต้อง แต่ไม่ตรงกับ คีย์ที่ได้รับการอนุมัติในแอปนักพัฒนาซอฟต์แวร์ที่เชื่อมโยงกับพร็อกซี API ของคุณผ่านผลิตภัณฑ์ |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ |
---|---|
SpecifyValueOrRefApiKey |
องค์ประกอบ <APIKey> ไม่มีค่าหรือคีย์ที่ระบุ |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | oauthV2.VK-VerifyAPIKey.failed = true |
ตัวอย่างการตอบกลับข้อผิดพลาด
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>
นโยบาย ConfirmJWS
ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ Edge กําหนดเมื่อนโยบายนี้ทําให้เกิดข้อผิดพลาด ข้อมูลนี้เป็นสิ่งสำคัญที่ต้องทราบหากคุณกำลังกำหนดกฎข้อผิดพลาดเพื่อจัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | เกิดขึ้นเมื่อ |
---|---|---|
steps.jws.AlgorithmInTokenNotPresentInConfiguration |
401 | เกิดขึ้นเมื่อนโยบายการยืนยันมีอัลกอริทึมหลายรายการ |
steps.jws.AlgorithmMismatch |
401 | อัลกอริทึมที่ระบุในส่วนหัวโดยนโยบาย "การสร้าง" ไม่ตรงกับอัลกอริทึมในนโยบาย "ยืนยัน" อัลกอริทึมที่ระบุต้องตรงกัน |
steps.jws.ContentIsNotDetached |
401 | จะมีการระบุ <DetachedContent> เมื่อ JWS ไม่มีเพย์โหลดเนื้อหาที่ปลดออกแล้ว |
steps.jws.FailedToDecode |
401 | นโยบายนี้ถอดรหัส JWS ไม่ได้ JWS อาจเสียหาย |
steps.jws.InsufficientKeyLength |
401 | สำหรับคีย์ที่มีขนาดเล็กกว่า 32 ไบต์สำหรับอัลกอริทึม HS256 |
steps.jws.InvalidClaim |
401 | สำหรับการอ้างสิทธิ์ที่ขาดหายไปหรือการอ้างสิทธิ์ไม่ตรงกัน หรือส่วนหัวที่ขาดหายไปหรือส่วนหัวไม่ตรงกัน |
steps.jws.InvalidCurve |
401 | เส้นโค้งที่คีย์ระบุไม่ถูกต้องสำหรับอัลกอริทึม Elliptic Curve |
steps.jws.InvalidJsonFormat |
401 | พบ JSON ที่ไม่ถูกต้องในส่วนหัว JWS |
steps.jws.InvalidJws |
401 | ข้อผิดพลาดนี้เกิดขึ้นเมื่อการยืนยันลายเซ็น JWS ล้มเหลว |
steps.jws.InvalidPayload |
401 | เพย์โหลด JWS ไม่ถูกต้อง |
steps.jws.InvalidSignature |
401 | ละเว้น <DetachedContent> และ JWS มีเพย์โหลดเนื้อหาที่ถูกแยกออก |
steps.jws.KeyIdMissing |
401 | นโยบาย "ยืนยัน" ใช้ JWKS เป็นแหล่งที่มาสำหรับคีย์สาธารณะ แต่ JWS ที่ลงนามไม่มีพร็อพเพอร์ตี้ kid ในส่วนหัว |
steps.jws.KeyParsingFailed |
401 | ไม่สามารถแยกวิเคราะห์คีย์สาธารณะจากข้อมูลคีย์ที่ระบุ |
steps.jws.MissingPayload |
401 | ไม่มีเพย์โหลด JWS |
steps.jws.NoAlgorithmFoundInHeader |
401 | เกิดขึ้นเมื่อ JWS ข้ามส่วนหัวของอัลกอริทึม |
steps.jws.NoMatchingPublicKey |
401 | นโยบาย "ยืนยัน" ใช้ JWKS เป็นแหล่งที่มาสำหรับคีย์สาธารณะ แต่ kid ใน JWS ที่ลงนามแล้วไม่ได้แสดงอยู่ใน JWKS |
steps.jws.UnhandledCriticalHeader |
401 | ส่วนหัวที่พบในนโยบาย "ยืนยัน JWS" ในส่วนหัว crit จะไม่ปรากฏใน KnownHeaders |
steps.jws.UnknownException |
401 | เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุ |
steps.jws.WrongKeyType |
401 | ประเภทคีย์ที่ระบุไม่ถูกต้อง เช่น หากคุณระบุคีย์ RSA สำหรับอัลกอริทึม Elliptic Curve หรือคีย์เส้นโค้งสำหรับอัลกอริทึม RSA |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | เกิดขึ้นเมื่อ |
---|---|
InvalidAlgorithm |
ค่าที่ใช้ได้มีเพียง RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512 |
|
ข้อผิดพลาดอื่นๆ เกี่ยวกับการทำให้ใช้งานได้ที่เป็นไปได้ |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "TokenExpired" |
JWS.failed |
นโยบาย JWS ทั้งหมดตั้งค่าตัวแปรเดียวกันในกรณีที่ดำเนินการไม่สำเร็จ | jws.JWS-Policy.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
สำหรับการจัดการข้อผิดพลาด แนวทางปฏิบัติแนะนำคือให้ดักจับส่วน errorcode
ของข้อผิดพลาด
คำตอบ อย่าพึ่งพาข้อความใน faultstring
เนื่องจากอาจมีการเปลี่ยนแปลง
ตัวอย่างกฎข้อผิดพลาด
<FaultRules> <FaultRule name="JWS Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWS.failed=true</Condition> </FaultRule> </FaultRules>
นโยบาย ConfirmJWT
ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ Edge กําหนดเมื่อนโยบายนี้ทําให้เกิดข้อผิดพลาด ข้อมูลนี้เป็นสิ่งสำคัญที่ต้องทราบหากคุณกำลังกำหนดกฎข้อผิดพลาดเพื่อจัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | เกิดขึ้นเมื่อ |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | เกิดขึ้นเมื่อนโยบายการยืนยันมีอัลกอริทึมหลายรายการ |
steps.jwt.AlgorithmMismatch |
401 | อัลกอริทึมที่ระบุในนโยบายการสร้างไม่ตรงกับอัลกอริทึมในนโยบาย "ยืนยัน" อัลกอริทึมที่ระบุต้องตรงกัน |
steps.jwt.FailedToDecode |
401 | นโยบายนี้ถอดรหัส JWT ไม่ได้ JWT อาจเสียหาย |
steps.jwt.GenerationFailed |
401 | นโยบายสร้าง JWT ไม่ได้ |
steps.jwt.InsufficientKeyLength |
401 | สำหรับคีย์ที่มีขนาดเล็กกว่า 32 ไบต์สำหรับอัลกอริทึม HS256 ขนาดน้อยกว่า 48 ไบต์สำหรับอัลกอริทึม HS386 และน้อยกว่า 64 ไบต์สำหรับอัลกอริทึม HS512 |
steps.jwt.InvalidClaim |
401 | สำหรับการอ้างสิทธิ์ที่ขาดหายไปหรือการอ้างสิทธิ์ไม่ตรงกัน หรือส่วนหัวที่ขาดหายไปหรือส่วนหัวไม่ตรงกัน |
steps.jwt.InvalidCurve |
401 | เส้นโค้งที่คีย์ระบุไม่ถูกต้องสำหรับอัลกอริทึม Elliptic Curve |
steps.jwt.InvalidJsonFormat |
401 | พบ JSON ที่ไม่ถูกต้องในส่วนหัวหรือเพย์โหลด |
steps.jwt.InvalidToken |
401 | ข้อผิดพลาดนี้เกิดขึ้นเมื่อการยืนยันลายเซ็น JWT ล้มเหลว |
steps.jwt.JwtAudienceMismatch |
401 | การอ้างสิทธิ์กลุ่มเป้าหมายล้มเหลวในการยืนยันโทเค็น |
steps.jwt.JwtIssuerMismatch |
401 | การอ้างสิทธิ์ของผู้ออกบัตรล้มเหลวในการยืนยันโทเค็น |
steps.jwt.JwtSubjectMismatch |
401 | เรื่องการอ้างสิทธิ์ล้มเหลวในการยืนยันโทเค็น |
steps.jwt.KeyIdMissing |
401 | นโยบาย "ยืนยัน" ใช้ JWKS เป็นแหล่งที่มาสำหรับคีย์สาธารณะ แต่ JWT ที่ลงนามไม่มีพร็อพเพอร์ตี้ kid ในส่วนหัว |
steps.jwt.KeyParsingFailed |
401 | ไม่สามารถแยกวิเคราะห์คีย์สาธารณะจากข้อมูลคีย์ที่ระบุ |
steps.jwt.NoAlgorithmFoundInHeader |
401 | เกิดขึ้นเมื่อ JWT ไม่มีส่วนหัวอัลกอริทึม |
steps.jwt.NoMatchingPublicKey |
401 | นโยบายยืนยันใช้ JWKS เป็นแหล่งที่มาสำหรับคีย์สาธารณะ แต่ kid ใน JWT ที่ลงนามแล้วไม่ได้แสดงอยู่ใน JWKS |
steps.jwt.SigningFailed |
401 | ใน GenerateJWT สำหรับคีย์ที่มีขนาดเล็กกว่าขนาดต่ำสุดสำหรับอัลกอริทึม HS384 หรือ HS512 |
steps.jwt.TokenExpired |
401 | นโยบายจะพยายามยืนยันโทเค็นที่หมดอายุ |
steps.jwt.TokenNotYetValid |
401 | โทเค็นยังไม่ถูกต้อง |
steps.jwt.UnhandledCriticalHeader |
401 | ส่วนหัวที่พบในนโยบาย "ยืนยัน JWT" ในส่วนหัว crit จะไม่ปรากฏใน KnownHeaders |
steps.jwt.UnknownException |
401 | เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุ |
steps.jwt.WrongKeyType |
401 | ประเภทคีย์ที่ระบุไม่ถูกต้อง เช่น หากคุณระบุคีย์ RSA สำหรับอัลกอริทึม Elliptic Curve หรือคีย์เส้นโค้งสำหรับอัลกอริทึม RSA |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidNameForAdditionalClaim |
การทำให้ใช้งานได้จะล้มเหลวหากการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> มีชื่อที่จดทะเบียนอย่างใดอย่างหนึ่งต่อไปนี้ kid , iss , sub , aud , iat , exp , nbf หรือ jti
|
build |
InvalidTypeForAdditionalClaim |
หากการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ใช่ประเภท string , number , boolean หรือ map การทำให้ใช้งานได้จะล้มเหลว
|
build |
MissingNameForAdditionalClaim |
หากไม่ได้ระบุชื่อการอ้างสิทธิ์ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> การทำให้ใช้งานได้จะล้มเหลว
|
build |
InvalidNameForAdditionalHeader |
ข้อผิดพลาดนี้จะเกิดขึ้นเมื่อชื่อของการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> เป็น alg หรือ typ
|
build |
InvalidTypeForAdditionalHeader |
หากประเภทของการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ใช่ประเภท string , number , boolean หรือ map การทำให้ใช้งานได้จะล้มเหลว
|
build |
InvalidValueOfArrayAttribute |
ข้อผิดพลาดนี้เกิดขึ้นเมื่อค่าของแอตทริบิวต์อาร์เรย์ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ได้ตั้งค่าเป็น true หรือ false
|
build |
InvalidValueForElement |
หากค่าที่ระบุในองค์ประกอบ <Algorithm> ไม่ใช่ค่าที่รองรับ การทำให้ใช้งานได้จะล้มเหลว
|
build |
MissingConfigurationElement |
ข้อผิดพลาดนี้จะเกิดขึ้นหากไม่ได้ใช้องค์ประกอบ <PrivateKey> กับอัลกอริทึมตระกูล RSA หรือไม่ได้ใช้องค์ประกอบ <SecretKey> กับอัลกอริทึมครอบครัว HS
|
build |
InvalidKeyConfiguration |
หากไม่ได้กำหนดองค์ประกอบย่อย <Value> ในองค์ประกอบ <PrivateKey> หรือ <SecretKey> การทำให้ใช้งานได้จะล้มเหลว
|
build |
EmptyElementForKeyConfiguration |
หากแอตทริบิวต์ ref ขององค์ประกอบย่อย <Value> ขององค์ประกอบ <PrivateKey> หรือ <SecretKey> ว่างเปล่าหรือไม่ได้ระบุ การทำให้ใช้งานได้จะล้มเหลว
|
build |
InvalidConfigurationForVerify |
ข้อผิดพลาดนี้เกิดขึ้นหากกำหนดองค์ประกอบ <Id> ไว้ภายในองค์ประกอบ <SecretKey>
|
build |
InvalidEmptyElement |
ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <Source> ของนโยบาย "ยืนยัน JWT" ว่างเปล่า หากมี จะต้องกำหนดด้วยชื่อตัวแปรโฟลว์ Edge
|
build |
InvalidPublicKeyValue |
หากค่าที่ใช้ในองค์ประกอบย่อย <JWKS> ขององค์ประกอบ <PublicKey> ไม่ได้ใช้รูปแบบที่ถูกต้องตามที่ระบุไว้ใน RFC 7517 การทำให้ใช้งานได้จะล้มเหลว
|
build |
InvalidConfigurationForActionAndAlgorithm |
หากใช้องค์ประกอบ <PrivateKey> กับอัลกอริทึม HS Family หรือมีการใช้องค์ประกอบ <SecretKey> กับอัลกอริทึม Family ของ RSA การทำให้ใช้งานได้จะล้มเหลว
|
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "TokenExpired" |
JWT.failed |
นโยบาย JWT ทั้งหมดตั้งค่าตัวแปรเดียวกันในกรณีที่ดำเนินการไม่สำเร็จ | JWT.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
สำหรับการจัดการข้อผิดพลาด แนวทางปฏิบัติแนะนำคือให้ดักจับส่วน errorcode
ของข้อผิดพลาด
คำตอบ อย่าพึ่งพาข้อความใน faultstring
เนื่องจากอาจมีการเปลี่ยนแปลง
ตัวอย่างกฎข้อผิดพลาด
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
นโยบาย XMLThreatProtection
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
500 | นโยบาย XMLThreatProtection สามารถแสดงข้อผิดพลาด ExecutionFailed หลายประเภท ข้อผิดพลาดเหล่านี้ส่วนใหญ่เกิดขึ้นเมื่อเกินเกณฑ์ที่กำหนดไว้ในนโยบาย เหล่านี้ ประเภทของข้อผิดพลาดมีดังนี้ ความยาวของชื่อองค์ประกอบ จำนวนย่อย ความลึกของโหนด จำนวนแอตทริบิวต์ ความยาวของชื่อแอตทริบิวต์ และอื่นๆ อีกมากมาย คุณสามารถดูรายการทั้งหมดได้ในหัวข้อการแก้ปัญหาข้อผิดพลาดเกี่ยวกับรันไทม์ของนโยบาย XMLThreatProtection | build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
ข้อผิดพลาดนี้เกิดขึ้นหากเพย์โหลดข้อความอินพุตที่ระบุโดยองค์ประกอบ <Source> ของนโยบาย XMLThreatProtection ไม่ใช่เอกสาร XML ที่ถูกต้อง
|
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
ข้อผิดพลาดนี้จะเกิดขึ้นหากข้อความ
ตัวแปรที่ระบุในองค์ประกอบ <Source> มีดังนี้
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 |
ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <Source> ได้รับการตั้งค่าเป็นตัวแปรที่
ไม่ใช่ประเภท
message
|
build |
หมายเหตุ
- ชื่อข้อผิดพลาด ExecutionFailed คือชื่อข้อผิดพลาดเริ่มต้น และระบบจะส่งคืนโดยไม่คำนึงถึง ประเภทข้อผิดพลาดที่ตรวจพบ อย่างไรก็ตาม ค่าเริ่มต้นนี้สามารถเปลี่ยนได้โดย พร็อพเพอร์ตี้ระดับองค์กร เมื่อตั้งค่าพร็อพเพอร์ตี้นี้ ชื่อข้อผิดพลาดจะแสดงตามจริง เช่น "TextExceeded" หรือ "AttrValueExceeded" โปรดดูหมายเหตุการใช้งานสำหรับ รายละเอียด
- สถานะ HTTP 500 เป็นค่าเริ่มต้น แต่สถานะ HTTP สามารถเปลี่ยนเป็น 400 ได้สำหรับ ขอข้อผิดพลาดของโฟลว์โดยการตั้งค่าพร็อพเพอร์ตี้ระดับองค์กร โปรดดูหมายเหตุการใช้งานสำหรับ รายละเอียด
ข้อผิดพลาดในการทำให้ใช้งานได้
ไม่มี
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name Matches "SourceUnavailable" |
xmlattack.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | xmlattack.XPT-SecureRequest.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
ตัวอย่างกฎข้อผิดพลาด
<FaultRule name="XML Threat Protection Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ExecutionFailed") </Condition> </Step> <Condition>(xmlattack.XPT-SecureRequest.failed = true) </Condition> </FaultRule>
นโยบาย XMLtoJSON
ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.xmltojson.ExecutionFailed |
500 | ข้อผิดพลาดนี้เกิดขึ้นเมื่อเพย์โหลดอินพุต (XML) ว่างเปล่า หรือ XML อินพุตไม่ถูกต้องหรือผิดรูปแบบ | build |
steps.xmltojson.InCompatibleType |
500 | ข้อผิดพลาดนี้เกิดขึ้นหากประเภทตัวแปรที่กำหนดไว้ในองค์ประกอบ <Source> และ
องค์ประกอบ <OutputVariable> ไม่เหมือนกัน ซึ่งจำเป็นต้องมีประเภทของตัวแปร
ที่มีอยู่ภายในองค์ประกอบ <Source> และองค์ประกอบ <OutputVariable> ตรงกัน
|
build |
steps.xmltojson.InvalidSourceType |
500 | ข้อผิดพลาดนี้เกิดขึ้นหากประเภทของตัวแปรที่ใช้กำหนดองค์ประกอบ <Source> คือ
ไม่ถูกต้อง ประเภทตัวแปรที่ถูกต้องคือ ข้อความและสตริง |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
500 | ข้อผิดพลาดนี้เกิดขึ้นหากตัวแปรที่ระบุในองค์ประกอบ <Source> ของ XML ถึง
นโยบาย JSON เป็นสตริงประเภทและไม่ได้กำหนดองค์ประกอบ <OutputVariable>
องค์ประกอบ <OutputVariable> เป็นข้อมูลที่ต้องระบุเมื่อตัวแปรที่กำหนดไว้ใน <Source>
จัดอยู่ในประเภทสตริง |
build |
steps.xmltojson.SourceUnavailable |
500 |
ข้อผิดพลาดนี้จะเกิดขึ้นหากข้อความ
ตัวแปรที่ระบุในองค์ประกอบ <Source> ของนโยบาย XML เป็น JSON มีดังนี้
|
build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
EitherOptionOrFormat |
หากองค์ประกอบใดองค์ประกอบหนึ่ง <Options> หรือ <Format> ไม่ใช่
ที่ประกาศไว้ในนโยบาย XML เป็น JSON การทำให้พร็อกซี API ใช้งานได้จึงล้มเหลว
|
build |
UnknownFormat |
หากองค์ประกอบ <Format> ภายในนโยบาย XML เป็น JSON มีข้อมูลที่ไม่รู้จัก
กำหนดไว้ การทำให้พร็อกซี API ใช้งานได้ล้มเหลว รูปแบบที่กำหนดไว้ล่วงหน้าได้แก่
xml.com , yahoo , google และ badgerFish
|
build |
ตัวแปรความผิดพลาด
ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย
ตัวแปร | สถานที่ | ตัวอย่าง |
---|---|---|
fault.name="fault_name" |
fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name คือชื่อที่ผู้ใช้ระบุของนโยบายที่เป็นสาเหตุของข้อผิดพลาด | xmltojson.XMLtoJSON-1.failed = true |
ตัวอย่างการตอบสนองข้อผิดพลาด
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
ตัวอย่างกฎข้อผิดพลาด
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="XML to JSON Faults"> <Step> <Name>AM-SourceUnavailableMessage</Name> <Condition>(fault.name Matches "SourceUnavailable") </Condition> </Step> <Step> <Name>AM-BadXML</Name> <Condition>(fault.name = "ExecutionFailed")</Condition> </Step> <Condition>(xmltojson.XMLtoJSON-1.failed = true) </Condition> </FaultRule>
นโยบาย XSLTransform
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
ข้อผิดพลาดนี้เกิดขึ้นหากข้อความหรือตัวแปรสตริงที่ระบุในองค์ประกอบ <Source> ของนโยบายการแปลง XSL อยู่นอกขอบเขต (ใช้ไม่ได้ในขั้นตอนเฉพาะเจาะจงที่มีการใช้นโยบาย) หรือจับคู่ไม่ได้ (ไม่ได้กำหนดไว้)
|
build |
steps.xsl.XSLEvaluationFailed |
500 | ข้อผิดพลาดนี้เกิดขึ้นหากเพย์โหลด XML ของอินพุตไม่พร้อมใช้งาน/มีรูปแบบไม่ถูกต้อง หรือนโยบาย XSLTransform ล้มเหลว/เปลี่ยนรูปแบบไฟล์ XML อินพุตตามกฎการเปลี่ยนรูปแบบที่ระบุไว้ในไฟล์ XSL ไม่ได้ อาจมีสาเหตุหลายประการที่ทำให้นโยบาย XSLTransform ล้มเหลว สาเหตุที่ข้อความแสดงข้อผิดพลาดล้มเหลวจะให้ข้อมูลเพิ่มเติมเกี่ยวกับสาเหตุ | build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
XSLEmptyResourceUrl |
ถ้าองค์ประกอบ <ResourceURL> ในนโยบายการแปลง XSL ว่างเปล่า จะทำให้ใช้งานพร็อกซี API ไม่สำเร็จ |
build |
XSLInvalidResourceType |
หากประเภททรัพยากรที่ระบุในองค์ประกอบ <ResourceURL> ของนโยบายการแปลง XSL ไม่ใช่ประเภท xsl การทำให้พร็อกซี API ใช้งานได้จะไม่สำเร็จ |
build |