ข้อมูลอ้างอิงข้อผิดพลาดเกี่ยวกับนโยบาย

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
ข้อมูล

นโยบาย AccessControl

ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด

ข้อผิดพลาดเกี่ยวกับรันไทม์

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน

รหัสข้อผิดพลาด สถานะ HTTP สาเหตุ แก้ไข
accesscontrol.IPDeniedAccess 403 มีการส่งผ่านที่อยู่ IP ของไคลเอ็นต์หรือที่อยู่ IP ในคำขอ API ตรงกับที่อยู่ IP ที่ระบุในองค์ประกอบ <SourceAddress> ภายใน องค์ประกอบ <MatchRule> ของนโยบายควบคุมการเข้าถึง และแอตทริบิวต์ action ของ องค์ประกอบ <MatchRule> ได้รับการตั้งค่าเป็น DENY

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ ดูข้อมูลเพิ่มเติมได้ที่ตัวแปรเฉพาะสําหรับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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

ข้อผิดพลาดนี้เกิดขึ้นหากตั้งค่าแอตทริบิวต์ source ในองค์ประกอบ <Copy> เป็นตัวแปรซึ่งไม่ใช่ประเภท message

ตัวแปรประเภทข้อความแสดงคําขอและคําตอบ HTTP ทั้งหมด ตัวแปรการไหลของ Edge ในตัว request, response และ message เป็นประเภทข้อความ ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวแปรข้อความได้ที่ข้อมูลอ้างอิงตัวแปร

steps.assignmessage.UnresolvedVariable 500

ข้อผิดพลาดนี้จะเกิดขึ้นหากตัวแปรที่ระบุไว้ในนโยบาย "กำหนดข้อความ" เป็นค่าใดค่าหนึ่งต่อไปนี้

  • อยู่นอกขอบเขต (ไม่พร้อมใช้งานในขั้นตอนที่นโยบายกำลังทำงาน)
  • หรือ
  • ไม่สามารถแก้ไขได้ (ไม่ได้กําหนด)

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณติดตั้งใช้งานพร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
InvalidIndex หากดัชนีที่ระบุในองค์ประกอบ <Copy> และ/หรือ <Remove> ของนโยบายการกําหนดข้อความเป็น 0 หรือเป็นตัวเลขติดลบ การติดตั้งใช้งาน API Proxy จะดำเนินการไม่สำเร็จ
InvalidVariableName หากองค์ประกอบย่อย <Name> ว่างเปล่าหรือไม่ได้ระบุในองค์ประกอบ <AssignVariable> การทำให้พร็อกซี API ใช้งานได้จะล้มเหลวเนื่องจากไม่มีชื่อตัวแปรที่ถูกต้องที่จะกำหนดค่า ต้องระบุชื่อตัวแปรที่ถูกต้อง
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")
steps.basicauthentication.UnresolvedVariable 500 ไม่มีตัวแปรแหล่งที่มาที่จําเป็นสําหรับการถอดรหัสหรือเข้ารหัส ข้อผิดพลาดนี้จะเกิดขึ้นได้ก็ต่อเมื่อ IgnoreUnresolvedVariables เป็นเท็จเท่านั้น

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณติดตั้งใช้งานพร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด เกิดขึ้นเมื่อ แก้ไข
UserNameRequired ต้องมีองค์ประกอบ <User> สำหรับการดำเนินการที่มีชื่อ
PasswordRequired ต้องมีองค์ประกอบ <Password> สำหรับการดำเนินการที่มีชื่อ
AssignToRequired ต้องมีองค์ประกอบ <AssignTo> สำหรับการดำเนินการที่มีชื่อ
SourceRequired ต้องมีองค์ประกอบ <Source> สำหรับการดำเนินการที่มีชื่อ

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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\
NotAllowedAtProxyEndpoint
ไม่อนุญาตให้แนบไฟล์นโยบายอัตราขีดจำกัดพร้อมกัน {0} ที่พร็อกซี เส้นทางคำขอ/การตอบกลับ/ข้อผิดพลาด ต้องวางนโยบายนี้ในปลายทางเป้าหมาย
ConcurrentRatelimitStepAttachment\
MissingAtTargetEndpoint
ไม่มีไฟล์แนบของนโยบาย 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

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

ข้อผิดพลาดอื่นๆ เกี่ยวกับการทำให้ใช้งานได้ที่เป็นไปได้

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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 อาจมีรูปแบบไม่ถูกต้อง ไม่ถูกต้อง หรือถอดรหัสไม่ได้
steps.jwt.FailedToResolveVariable 401 เกิดขึ้นเมื่อไม่มีตัวแปรโฟลว์ที่ระบุในองค์ประกอบ <Source> ของนโยบายอยู่
steps.jwt.InvalidToken 401 เกิดขึ้นเมื่อตัวแปรโฟลว์ที่ระบุในองค์ประกอบ <Source> ของนโยบายอยู่นอกขอบเขตหรือแก้ไขไม่ได้

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
InvalidEmptyElement เกิดขึ้นเมื่อไม่ได้ระบุตัวแปรโฟลว์ที่มี JWT ที่จะถอดรหัสในองค์ประกอบ <Source> ของนโยบาย

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
fault.name="fault_name" fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด fault.name Matches "TokenExpired"
JWT.failed นโยบาย JWT ทั้งหมดตั้งค่าตัวแปรเดียวกันในกรณีที่ดำเนินการไม่สำเร็จ JWT.failed = true

ตัวอย่างการตอบสนองข้อผิดพลาด

โค้ดความผิดพลาดของนโยบาย JWT

สำหรับการจัดการข้อผิดพลาด แนวทางปฏิบัติแนะนำคือให้ดักจับส่วน 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

ข้อผิดพลาดนี้เกิดขึ้นเมื่อ

  • เพย์โหลดอินพุต (JSON, XML) ว่างเปล่า
  • อินพุต (JSON, XML ฯลฯ) ที่ส่งไปยังนโยบายไม่ถูกต้องหรือผิดรูปแบบ
steps.extractvariables.ImmutableVariable 500 ตัวแปรที่ใช้ในนโยบายจะเปลี่ยนแปลงไม่ได้ นโยบายไม่สามารถตั้งค่านี้ได้ ตัวแปร
steps.extractvariables.InvalidJSONPath 500 ข้อผิดพลาดนี้เกิดขึ้นหากใช้เส้นทาง JSON ที่ไม่ถูกต้องในองค์ประกอบ JSONPath ของ เช่น หากเพย์โหลด JSON ไม่มีออบเจ็กต์ Name แต่คุณระบุ Name เป็นเส้นทางในนโยบาย ข้อผิดพลาดนี้จะเกิดขึ้น
steps.extractvariables.JsonPathParsingFailure 500 ข้อผิดพลาดนี้เกิดขึ้นเมื่อนโยบายไม่สามารถแยกวิเคราะห์เส้นทาง JSON และ แยกข้อมูลจากตัวแปรโฟลว์ที่ระบุไว้ในองค์ประกอบ Source ปกติเป็นแบบนี้ จะเกิดขึ้นหากตัวแปรโฟลว์ที่ระบุในองค์ประกอบ Source ไม่อยู่ในองค์ประกอบปัจจุบัน
steps.extractvariables.SetVariableFailed 500 ข้อผิดพลาดนี้เกิดขึ้นหากนโยบายไม่สามารถกำหนดค่าให้กับตัวแปรได้ ข้อผิดพลาดมักจะเกิดขึ้นหากคุณพยายามกำหนดค่าให้กับตัวแปรหลายตัวที่มีชื่อเริ่มต้น ที่มีคำเดียวกันในรูปแบบที่คั่นด้วยจุดที่ซ้อนกัน
steps.extractvariables.SourceMessageNotAvailable 500 ข้อผิดพลาดนี้จะเกิดขึ้นหากข้อความ ตัวแปรที่ระบุในองค์ประกอบ Source ของนโยบาย เป็นอย่างใดอย่างหนึ่งต่อไปนี้
  • อยู่นอกขอบเขต (ใช้ไม่ได้ในขั้นตอนที่เจาะจงซึ่งจะมีการบังคับใช้นโยบาย) หรือ
  • แก้ไขไม่ได้ (ไม่ได้กำหนด)
steps.extractvariables.UnableToCast 500 ข้อผิดพลาดนี้เกิดขึ้นหากนโยบายไม่สามารถแคสต์ไฟล์ที่ดึงข้อมูลมาได้ ให้กับตัวแปร โดยปกติ กรณีนี้จะเกิดขึ้นหากคุณพยายามตั้งค่า ข้อมูลประเภทหนึ่งกับตัวแปรของประเภทข้อมูลอื่น

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
NothingToExtract หากนโยบายไม่มีองค์ประกอบ URIPath, QueryParam, Header, FormParam, XMLPayload หรือ JSONPayload การทำให้พร็อกซี API ใช้งานได้ล้มเหลว เพราะไม่มีข้อมูลให้ดึงข้อมูล
NONEmptyPrefixMappedToEmptyURI ข้อผิดพลาดนี้จะเกิดขึ้นหากนโยบายมีการกำหนดคำนำหน้าไว้ใน Namespace องค์ประกอบภายใต้องค์ประกอบ XMLPayload แต่ไม่มี URI ที่ กำหนดไว้
DuplicatePrefix ข้อผิดพลาดนี้เกิดขึ้นหากนโยบายมีคำนำหน้าเหมือนกันมากกว่า 1 ครั้งในองค์ประกอบ Namespace ใต้องค์ประกอบ XMLPayload
NoXPathsToEvaluate หากนโยบายไม่มีองค์ประกอบ XPath ภายใน XMLPayload การทำให้พร็อกซี API ใช้งานได้ล้มเหลวเนื่องจากข้อผิดพลาดนี้
EmptyXPathExpression หากนโยบายมีนิพจน์ XPath ที่ว่างเปล่าภายใน XMLPayload การทำให้พร็อกซี API ใช้งานได้จะล้มเหลว
NoJSONPathsToEvaluate หากนโยบายไม่มีองค์ประกอบ JSONPath ภายใน JSONPayload การทำให้พร็อกซี API ใช้งานได้ล้มเหลวเนื่องจากข้อผิดพลาดนี้
EmptyJSONPathExpression หากนโยบายมีนิพจน์ XPath ที่ว่างเปล่าภายใน XMLPayload การทำให้พร็อกซี API ใช้งานได้จึงล้มเหลว
MissingName หากนโยบายไม่มีแอตทริบิวต์ name ในนโยบาย องค์ประกอบอย่างเช่น QueryParam, Header, FormParam หรือ Variable หากจำเป็นต้องใช้ การทำให้พร็อกซี API ใช้งานได้จะล้มเหลว
PatternWithoutVariable หากนโยบายไม่ได้ระบุตัวแปรภายในองค์ประกอบ Pattern การทำให้พร็อกซี API ใช้งานได้ล้มเหลว องค์ประกอบ Pattern ต้องมีชื่อ ตัวแปรที่จะจัดเก็บข้อมูลที่แยกออกมา
CannotBeConvertedToNodeset หากนโยบายมีนิพจน์ XPath โดยที่ประเภท Variable คือnodeset แต่แปลงนิพจน์เป็น Nodeset ไม่ได้ ซึ่งทำให้การทำให้พร็อกซี API ใช้งานได้ล้มเหลว
JSONPathCompilationFailed นโยบายไม่สามารถคอมไพล์เส้นทาง JSON ที่ระบุ
InstantiationFailed สร้างอินสแตนซ์นโยบายไม่ได้
XPathCompilationFailed หากคำนำหน้าหรือค่าที่ใช้ในองค์ประกอบ XPath ไม่ได้เป็นส่วนหนึ่งของ เนมสเปซที่ประกาศไว้ในนโยบาย จากนั้นการติดตั้งใช้งานพร็อกซี API ล้มเหลว
InvalidPattern หากคําจํากัดความองค์ประกอบ Pattern ไม่ถูกต้องในองค์ประกอบใดก็ตาม เช่น URIPath QueryParam Header FormParam XMLPayload หรือ JSONPayload ภายในนโยบาย แล้วการติดตั้งใช้งาน พร็อกซี API ล้มเหลว

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาดขณะรันไทม์ สำหรับข้อมูลเพิ่มเติม ดูสิ่งที่คุณ ที่ต้องทราบเกี่ยวกับข้อผิดพลาดด้านนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

ข้อผิดพลาดอื่นๆ เกี่ยวกับการทำให้ใช้งานได้ที่เป็นไปได้

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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
InvalidTypeForAdditionalClaim หากการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ใช่ประเภท string, number, boolean หรือ map การทำให้ใช้งานได้จะล้มเหลว
MissingNameForAdditionalClaim หากไม่ได้ระบุชื่อการอ้างสิทธิ์ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> การทำให้ใช้งานได้จะล้มเหลว
InvalidNameForAdditionalHeader ข้อผิดพลาดนี้จะเกิดขึ้นเมื่อชื่อของการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> เป็น alg หรือ typ
InvalidTypeForAdditionalHeader หากประเภทของการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ใช่ประเภท string, number, boolean หรือ map การทำให้ใช้งานได้จะล้มเหลว
InvalidValueOfArrayAttribute ข้อผิดพลาดนี้เกิดขึ้นเมื่อค่าของแอตทริบิวต์อาร์เรย์ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ได้ตั้งค่าเป็น true หรือ false
InvalidConfigurationForActionAndAlgorithm หากใช้องค์ประกอบ <PrivateKey> กับอัลกอริทึม HS Family หรือมีการใช้องค์ประกอบ <SecretKey> กับอัลกอริทึม Family ของ RSA การทำให้ใช้งานได้จะล้มเหลว
InvalidValueForElement หากค่าที่ระบุในองค์ประกอบ <Algorithm> ไม่ใช่ค่าที่รองรับ การทำให้ใช้งานได้จะล้มเหลว
MissingConfigurationElement ข้อผิดพลาดนี้จะเกิดขึ้นหากไม่ได้ใช้องค์ประกอบ <PrivateKey> กับอัลกอริทึมตระกูล RSA หรือไม่ได้ใช้องค์ประกอบ <SecretKey> กับอัลกอริทึมครอบครัว HS
InvalidKeyConfiguration หากไม่ได้กำหนดองค์ประกอบย่อย <Value> ในองค์ประกอบ <PrivateKey> หรือ <SecretKey> การทำให้ใช้งานได้จะล้มเหลว
EmptyElementForKeyConfiguration หากแอตทริบิวต์ ref ขององค์ประกอบย่อย <Value> ขององค์ประกอบ <PrivateKey> หรือ <SecretKey> ว่างเปล่าหรือไม่ได้ระบุ การทำให้ใช้งานได้จะล้มเหลว
InvalidVariableNameForSecret ข้อผิดพลาดนี้เกิดขึ้นหากชื่อตัวแปรโฟลว์ที่ระบุในแอตทริบิวต์ ref ขององค์ประกอบย่อย <Value> ขององค์ประกอบ <PrivateKey> หรือ <SecretKey> ไม่มีคำนำหน้าส่วนตัว (private.)
InvalidSecretInConfig ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบย่อย <Value> ขององค์ประกอบ <PrivateKey> หรือ <SecretKey> ไม่มีคำนำหน้าส่วนตัว (private.)
InvalidTimeFormat หากค่าที่ระบุในองค์ประกอบ <NotBefore> ไม่ได้ใช้รูปแบบที่รองรับ การทำให้ใช้งานได้จะล้มเหลว

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
fault.name="fault_name" fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด fault.name Matches "TokenExpired"
JWT.failed นโยบาย JWT ทั้งหมดตั้งค่าตัวแปรเดียวกันในกรณีที่ดำเนินการไม่สำเร็จ JWT.failed = true

ตัวอย่างการตอบสนองข้อผิดพลาด

โค้ดความผิดพลาดของนโยบาย JWT

สำหรับการจัดการข้อผิดพลาด แนวทางปฏิบัติแนะนำคือให้ดักจับส่วน 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

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อมีการทำให้พร็อกซีที่มีนโยบายใช้งานได้

ชื่อข้อผิดพลาด สตริงข้อผิดพลาด สถานะ 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
steps.javascript.ScriptExecutionFailedLineNumber 500 เกิดข้อผิดพลาดในโค้ด JavaScript ดูรายละเอียดจากสตริงข้อผิดพลาด ไม่มี
steps.javascript.ScriptSecurityError 500 เกิดข้อผิดพลาดด้านความปลอดภัยขณะเรียกใช้ JavaScript ดูสตริงข้อผิดพลาดสำหรับ รายละเอียด ไม่มี

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
InvalidResourceUrlFormat หากรูปแบบของ URL ทรัพยากรที่ระบุภายในองค์ประกอบ <ResourceURL> หรือ <IncludeURL> ของนโยบาย JavaScript ไม่ถูกต้อง การทำให้พร็อกซี API ใช้งานได้จะล้มเหลว
InvalidResourceUrlReference หากองค์ประกอบ <ResourceURL> หรือ <IncludeURL> อ้างอิงไฟล์ JavaScript ที่ไม่มีอยู่ การติดตั้งใช้งานพร็อกซี API จะล้มเหลว ไฟล์แหล่งที่มาที่อ้างอิงต้องมีอยู่ในพร็อกซี API, สภาพแวดล้อม หรือองค์กร
WrongResourceType ข้อผิดพลาดนี้เกิดขึ้นระหว่างการทำให้ใช้งานได้หาก <ResourceURL> หรือ <IncludeURL> องค์ประกอบของนโยบาย JavaScript หมายถึงประเภททรัพยากรใดๆ ที่ไม่ใช่ jsc (ไฟล์ JavaScript)
NoResourceURLOrSource การทำให้นโยบาย JavaScript ใช้งานได้อาจล้มเหลวด้วยข้อผิดพลาดนี้ หาก <ResourceURL> ไม่มีการประกาศองค์ประกอบ หรือไม่มีการระบุ URL ทรัพยากรภายในองค์ประกอบนี้ องค์ประกอบ <ResourceURL> เป็นองค์ประกอบที่จำเป็น หรือประกาศเอลิเมนต์ <IncludeURL> แต่ URL ของทรัพยากรไม่ได้กำหนดไว้ภายในองค์ประกอบนี้ องค์ประกอบ <IncludeURL> เป็นค่าที่ไม่บังคับ แต่หากมีการประกาศไว้ คุณต้องระบุ URL ทรัพยากรภายในองค์ประกอบ <IncludeURL>

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาดขณะรันไทม์ สำหรับข้อมูลเพิ่มเติม ดูสิ่งที่คุณ ที่ต้องทราบเกี่ยวกับข้อผิดพลาดด้านนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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 ที่ไม่ถูกต้อง
steps.jsonthreatprotection.SourceUnavailable 500 ข้อผิดพลาดนี้จะเกิดขึ้นหากข้อความ ตัวแปรที่ระบุในองค์ประกอบ <Source> มีดังนี้
  • อยู่นอกขอบเขต (ใช้ไม่ได้ในขั้นตอนที่เจาะจงที่กำลังบังคับใช้นโยบาย)
  • ไม่ใช่หนึ่งในค่าที่ถูกต้อง request, response, หรือ message
steps.jsonthreatprotection.NonMessageVariable 500 ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <Source> ได้รับการตั้งค่าเป็นตัวแปรที่ ไม่ใช่ประเภท message

ข้อผิดพลาดในการทำให้ใช้งานได้

ไม่มี

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาด โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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 ถูก ไม่ถูกต้องหรือผิดรูปแบบ
steps.jsontoxml.InCompatibleTypes 500 ข้อผิดพลาดนี้เกิดขึ้นหากประเภทของตัวแปรที่กำหนดไว้ในองค์ประกอบ <Source> และ องค์ประกอบ <OutputVariable> ไม่เหมือนกัน ประเภทของส่วนเสริม ตัวแปรที่อยู่ในองค์ประกอบ <Source> และองค์ประกอบ <OutputVariable> ที่ตรงกัน ประเภทที่ถูกต้องคือ message และ string
steps.jsontoxml.InvalidSourceType 500 ข้อผิดพลาดนี้เกิดขึ้นหากประเภทของตัวแปรที่ใช้กำหนดองค์ประกอบ <Source> ไม่ถูกต้อง ประเภทตัวแปรที่ถูกต้องคือ message และ string
steps.jsontoxml.OutputVariableIsNotAvailable 500 ข้อผิดพลาดนี้เกิดขึ้นหากตัวแปรที่ระบุในองค์ประกอบ <Source> ของ JSON เป็น นโยบาย XML เป็นประเภทสตริงและไม่มีการกำหนดองค์ประกอบ <OutputVariable> องค์ประกอบ <OutputVariable> เป็นข้อมูลที่ต้องระบุเมื่อตัวแปรที่กำหนดไว้ใน <Source> จัดอยู่ในประเภทสตริง
steps.jsontoxml.SourceUnavailable 500 ข้อผิดพลาดนี้จะเกิดขึ้นหากข้อความ ตัวแปรที่ระบุในองค์ประกอบ <Source> ของนโยบาย JSON เป็น XML ได้แก่
  • อยู่นอกขอบเขต (ใช้ไม่ได้ในขั้นตอนที่เจาะจงซึ่งจะมีการบังคับใช้นโยบาย) หรือ
  • ไม่สามารถแก้ไขได้ (ไม่ได้กำหนด)

ข้อผิดพลาดในการทำให้ใช้งานได้

ไม่มี

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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

ข้อผิดพลาดนี้เกิดขึ้นหากคุณพยายามเรียกค่าจากแมปค่าคีย์ที่เข้ารหัส แล้วตั้งค่าเป็นตัวแปรที่มีชื่อไม่ได้ขึ้นต้นด้วย private คำนำหน้าซึ่งจำเป็นสำหรับวัตถุประสงค์ด้านความปลอดภัยขั้นพื้นฐานระหว่างการแก้ไขข้อบกพร่อง จะซ่อนค่าที่เข้ารหัสจากการติดตามพร็อกซี API และเซสชันการแก้ไขข้อบกพร่อง

steps.keyvaluemapoperations.UnsupportedOperationException 500

ข้อผิดพลาดนี้เกิดขึ้นหากมีการตั้งค่าแอตทริบิวต์ mapIdentifier เป็นสตริงว่างเปล่าในนโยบายการดำเนินการแมปค่าคีย์

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
InvalidIndex หากแอตทริบิวต์ index ที่ระบุในองค์ประกอบ <Get> ของนโยบายการดำเนินการแมปค่าคีย์เป็น 0 หรือเป็นตัวเลขลบ จะทำให้การทำให้พร็อกซี API ใช้งานได้ไม่สำเร็จ ดัชนีจะเริ่มต้นจาก 1 ดังนั้นดัชนีที่เป็นจำนวนเต็ม 0 หรือจำนวนเต็มลบจึงถือว่าไม่ถูกต้อง
KeyIsMissing ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <Key> หายไปทั้งหมด หรือองค์ประกอบ <Parameter> หายไปภายในองค์ประกอบ <Key> ภายใต้องค์ประกอบ <Entry> ขององค์ประกอบ <InitialEntries> ของนโยบายการดำเนินการแมปค่าคีย์
ValueIsMissing ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <Value> หายไปใต้องค์ประกอบ <Entry> ขององค์ประกอบ <InitialEntries> ของนโยบายการดำเนินการแมปค่าคีย์

นโยบาย 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 เท่านั้น
InvalidPort การทำให้ใช้งานได้ของนโยบาย MessageLนั้นๆ อาจล้มเหลวเนื่องจากข้อผิดพลาดนี้ หากหมายเลขพอร์ต ไม่ได้ระบุภายในองค์ประกอบ <Port> หรือหากไม่ถูกต้อง หมายเลขพอร์ตต้องเป็น จำนวนเต็มที่มากกว่า 0

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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

ตัวแปรที่ระบุในองค์ประกอบ <Source> ของนโยบายอยู่นอกขอบเขตหรือแก้ไขไม่ได้

steps.oasvalidation.NotMessageVariable 500

องค์ประกอบ <Source> ได้รับการตั้งค่าเป็นตัวแปรที่ไม่ใช่ประเภท ข้อความ

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ
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 ใช้งานได้
CacheNotFound แคชที่ระบุในองค์ประกอบ <CacheResource> ไม่ ที่มีอยู่

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาด โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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 ใช้งานได้
InvalidTimeout หากตั้งค่าองค์ประกอบ <CacheLookupTimeoutInSeconds> เป็นตัวเลขติดลบ จะทำให้พร็อกซี API ใช้งานได้ไม่สำเร็จ
CacheNotFound ข้อผิดพลาดนี้เกิดขึ้นหากไม่ได้สร้างแคชที่ระบุในข้อความแสดงข้อผิดพลาดบนคอมโพเนนต์โปรแกรมประมวลผลข้อความที่เฉพาะเจาะจง

ตัวแปรของข้อผิดพลาด

ไม่มีข้อมูล

ตัวอย่างการตอบกลับข้อผิดพลาด

ไม่มีข้อมูล

นโยบายไม่ถูกต้องateCache

ส่วนนี้อธิบายข้อความแสดงข้อผิดพลาดและตัวแปรโฟลว์ที่ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้สำคัญที่ต้องทราบ หากคุณกำลังพัฒนากฎข้อผิดพลาดสำหรับพร็อกซี ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด

คำนำหน้ารหัสข้อผิดพลาด

ไม่มีข้อมูล

ข้อผิดพลาดเกี่ยวกับรันไทม์

นโยบายนี้จะไม่แสดงข้อผิดพลาดเกี่ยวกับรันไทม์

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
InvalidCacheResourceReference ข้อผิดพลาดนี้เกิดขึ้นหากมีการตั้งค่าองค์ประกอบ <CacheResource> ในนโยบาย invalidateCache เป็นชื่อที่ไม่มีอยู่ในสภาพแวดล้อมที่ทำให้พร็อกซี API ใช้งานได้
CacheNotFound ข้อผิดพลาดนี้เกิดขึ้นหากไม่ได้สร้างแคชที่ระบุในข้อความแสดงข้อผิดพลาดบนคอมโพเนนต์โปรแกรมประมวลผลข้อความที่เฉพาะเจาะจง

ตัวแปรของข้อผิดพลาด

ไม่มีข้อมูล

ตัวอย่างการตอบกลับข้อผิดพลาด

ไม่มีข้อมูล

นโยบาย ResponseCache

ส่วนนี้อธิบายข้อความแสดงข้อผิดพลาดและตัวแปรโฟลว์ที่ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้สำคัญที่ต้องทราบ หากคุณกำลังพัฒนากฎข้อผิดพลาดสำหรับพร็อกซี ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด

คำนำหน้ารหัสข้อผิดพลาด

ไม่มีข้อมูล

ข้อผิดพลาดเกี่ยวกับรันไทม์

นโยบายนี้จะไม่แสดงข้อผิดพลาดเกี่ยวกับรันไทม์

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
InvalidTimeout หากตั้งค่าองค์ประกอบ <CacheLookupTimeoutInSeconds> ของนโยบาย ResponseCache เป็นตัวเลขติดลบ การติดตั้งใช้งานพร็อกซี API จะไม่สําเร็จ
InvalidCacheResourceReference ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <CacheResource> ในนโยบาย ResponseCache เป็นชื่อที่ไม่มีอยู่ในสภาพแวดล้อมที่ทำให้พร็อกซี API ใช้งานได้
ResponseCacheStepAttachmentNotAllowedReq ข้อผิดพลาดนี้เกิดขึ้นหากมีการแนบนโยบาย ResponseCache เดียวกันกับเส้นทางคําขอหลายเส้นทางภายในขั้นตอนใดก็ตามของพร็อกซี API
ResponseCacheStepAttachmentNotAllowedResp ข้อผิดพลาดนี้เกิดขึ้นหากมีการแนบนโยบาย ResponseCache เดียวกันกับเส้นทางการตอบกลับหลายเส้นทางภายในโฟลว์ใดๆ ของพร็อกซี API
InvalidMessagePatternForErrorCode ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <SkipCacheLookup> หรือองค์ประกอบ <SkipCachePopulation> ในนโยบาย ResponseCache มีเงื่อนไขที่ไม่ถูกต้อง
CacheNotFound ข้อผิดพลาดนี้เกิดขึ้นหากไม่ได้สร้างแคชที่ระบุในข้อความแสดงข้อผิดพลาดบนคอมโพเนนต์โปรแกรมประมวลผลข้อความที่เฉพาะเจาะจง

ตัวแปรของข้อผิดพลาด

ไม่มีข้อมูล

ตัวอย่างการตอบกลับข้อผิดพลาด

ไม่มีข้อมูล

นโยบาย OAuthV2

ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงกลับมา และตัวแปรข้อผิดพลาดที่ Edge ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด

ข้อผิดพลาดเกี่ยวกับรันไทม์

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน

รหัสข้อผิดพลาด สถานะ HTTP สาเหตุ ยกเลิกโดยการปฏิบัติงาน
steps.oauth.v2.access_token_expired 401 โทเค็นเพื่อการเข้าถึงหมดอายุแล้ว

VerifyAccessToken
InvalidateToken

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
InvalidateToken

steps.oauth.v2.InsufficientScope 403 โทเค็นเพื่อการเข้าถึงที่แสดงในคำขอมีขอบเขตที่ไม่ตรงกับขอบเขต ที่ระบุในนโยบายโทเค็นเพื่อการเข้าถึงสำหรับการยืนยัน โปรดดูข้อมูลเกี่ยวกับขอบเขตที่หัวข้อการใช้งานขอบเขต OAuth2 VerifyAccessToken
steps.oauth.v2.invalid_access_token 401 โทเค็นเพื่อการเข้าถึงที่ส่งจากไคลเอ็นต์ไม่ถูกต้อง VerifyAccessToken
steps.oauth.v2.invalid_client 401

ระบบจะแสดงชื่อข้อผิดพลาดนี้เมื่อพร็อพเพอร์ตี้ <GenerateResponse> ของ ตั้งค่านโยบายเป็น true และรหัสไคลเอ็นต์ที่ส่งในคำขอคือ ไม่ถูกต้อง ตรวจสอบว่าคุณใช้คีย์ไคลเอ็นต์และค่าข้อมูลลับที่ถูกต้องสำหรับ แอปนักพัฒนาซอฟต์แวร์ที่เชื่อมโยงกับพร็อกซีของคุณ โดยปกติแล้ว ค่าเหล่านี้จะส่งเป็น ส่วนหัวการให้สิทธิ์พื้นฐานที่เข้ารหัส Base64

หมายเหตุ: ขอแนะนำให้เปลี่ยนกฎข้อผิดพลาดที่มีอยู่ เพื่อที่จะตรวจจับทั้ง invalid_client และ InvalidClientIdentifier ชื่อ ดูรุ่น 16.09.21 หมายเหตุสำหรับข้อมูลเพิ่มเติมและตัวอย่าง

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\
steps.oauth.v2.ApiProductMatchFound
401

พร็อกซี API ไม่อยู่ในผลิตภัณฑ์ที่เชื่อมโยงกับโทเค็นเพื่อการเข้าถึง

เคล็ดลับ: ตรวจสอบว่าผลิตภัณฑ์ที่เชื่อมโยงกับโทเค็นเพื่อการเข้าถึง มีการกำหนดค่าอย่างถูกต้อง ตัวอย่างเช่น หากคุณใช้ไวลด์การ์ดในเส้นทางทรัพยากร โปรดตรวจสอบว่า มีการใช้ไวลด์การ์ดอย่างถูกต้อง โปรดดูรายละเอียดที่หัวข้อสร้างผลิตภัณฑ์ API

ดูเพิ่มเติมที่ โพสต์ชุมชน Apigee สำหรับคำแนะนำเพิ่มเติมเกี่ยวกับสาเหตุของข้อผิดพลาดนี้

VerifyAccessToken
steps.oauth.v2.InvalidClientIdentifier 500

ระบบจะแสดงชื่อข้อผิดพลาดนี้เมื่อพร็อพเพอร์ตี้ <GenerateResponse> ของ นโยบายจะตั้งค่าเป็น false และรหัสไคลเอ็นต์ที่ส่งในคำขอคือ ไม่ถูกต้อง ตรวจสอบให้แน่ใจว่าคุณใช้คีย์ไคลเอ็นต์และค่าข้อมูลลับที่ถูกต้องสำหรับฟิลด์ แอปนักพัฒนาซอฟต์แวร์ที่เชื่อมโยงกับพร็อกซีของคุณ โดยปกติแล้ว ระบบจะส่งค่าเหล่านี้เป็น Base64 ส่วนหัวการให้สิทธิ์พื้นฐานที่เข้ารหัส

หมายเหตุ: ในกรณีนี้ ระบบจะเคยเรียกใช้ข้อผิดพลาดนี้ invalid_client ขอแนะนำให้คุณเปลี่ยนกฎข้อผิดพลาดที่มีอยู่ ที่จะตรวจจับทั้ง invalid_client และ InvalidClientIdentifier ชื่อ ดูรุ่น 16.09.21 หมายเหตุสำหรับข้อมูลเพิ่มเติมและตัวอย่าง

GenerateAccessToken
RefreshAccessToken

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

ลูกค้าระบุประเภทการให้สิทธิ์ที่นโยบายไม่รองรับ (ไม่มีระบุไว้ใน &lt;SupportedGrantTypes&gt; )

หมายเหตุ: ขณะนี้มีข้อบกพร่องที่เป็นข้อผิดพลาดประเภทการให้สิทธิ์ที่ไม่รองรับ ไม่ถูกต้อง หากเกิดข้อผิดพลาดเกี่ยวกับประเภทการให้สิทธิ์ที่ไม่รองรับ พร็อกซีจะไม่ ให้ป้อนโฟลว์ข้อผิดพลาดตามที่คาดไว้

GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ
InvalidValueForExpiresIn

สำหรับองค์ประกอบ <ExpiresIn> ค่าที่ถูกต้องจะเป็นจำนวนเต็มบวกและ -1

InvalidValueForRefreshTokenExpiresIn สำหรับองค์ประกอบ <RefreshTokenExpiresIn> ค่าที่ถูกต้องจะเป็นบวก จำนวนเต็มและ -1
InvalidGrantType ระบุประเภทการให้สิทธิ์ที่ไม่ถูกต้องใน <SupportedGrantTypes> โปรดดูรายการประเภทที่ถูกต้องในข้อมูลอ้างอิงของนโยบาย
ExpiresInNotApplicableForOperation ตรวจสอบว่าการดำเนินการที่ระบุใน <Operations> การรองรับองค์ประกอบ วันหมดอายุ ตัวอย่างเช่น การดำเนินการ VerifyToken จะไม่เกิดขึ้น
RefreshTokenExpiresInNotApplicableForOperation ตรวจสอบว่าการดำเนินการที่ระบุใน <Operations> การรีเฟรชการสนับสนุนองค์ประกอบ การหมดอายุของโทเค็น ตัวอย่างเช่น การดำเนินการ VerifyToken จะไม่เกิดขึ้น
GrantTypesNotApplicableForOperation ตรวจสอบว่าประเภทการให้สิทธิ์ที่ระบุใน <SupportedGrantTypes> ใช้ได้กับ การดำเนินการที่ระบุ
OperationRequired

คุณต้องระบุการดำเนินการในนโยบายนี้โดยใช้ <Operation>

หมายเหตุ: หากไม่มีองค์ประกอบ <Operation> ค่า UI แสดงข้อผิดพลาดในการตรวจสอบสคีมา

InvalidOperation

คุณต้องระบุการดำเนินการที่ถูกต้องในนโยบายนี้โดยใช้ องค์ประกอบ <Operation>

หมายเหตุ: หากองค์ประกอบ <Operation> ไม่ถูกต้อง ค่า UI แสดงข้อผิดพลาดในการตรวจสอบสคีมา

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 ชื่อข้อบกพร่องจะมีคำต่อท้ายนี้: keymanagement.service
เช่น keymanagement.service.invalid_access_token

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

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
InvalidResourceUrlFormat หากรูปแบบของ URL ทรัพยากรที่ระบุภายใน <ResourceURL> หรือ องค์ประกอบ <IncludeURL> ของนโยบาย PythonScript ไม่ถูกต้อง การทำให้พร็อกซี API ใช้งานได้จึงล้มเหลว
InvalidResourceUrlReference หากองค์ประกอบ <ResourceURL> หรือ <IncludeURL> อ้างอิงไฟล์ PythonScript ที่ไม่มีอยู่ การติดตั้งใช้งานพร็อกซี API จะล้มเหลว ไฟล์แหล่งที่มาที่อ้างอิงต้องมีอยู่ในพร็อกซี API, สภาพแวดล้อม หรือองค์กร

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาดขณะรันไทม์ สำหรับข้อมูลเพิ่มเติม ดูสิ่งที่คุณ ที่ต้องทราบเกี่ยวกับข้อผิดพลาดด้านนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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>
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference 500 เกิดขึ้นเมื่อไม่ได้กำหนดองค์ประกอบ <TimeUnit> ภายในนโยบายโควต้า องค์ประกอบนี้ เป็นข้อมูลบังคับและใช้เพื่อระบุหน่วยเวลาที่ใช้กับโควต้า ช่วงเวลา อาจเป็นนาที ชั่วโมง วัน สัปดาห์ หรือเดือน
policies.ratelimit.InvalidMessageWeight 500 เกิดขึ้นเมื่อค่าขององค์ประกอบ <MessageWeight> ที่ระบุผ่านตัวแปรโฟลว์ ไม่ถูกต้อง (ค่าที่ไม่ใช่จำนวนเต็ม)
policies.ratelimit.QuotaViolation 500 เกินโควต้าแล้ว ไม่มี

ข้อผิดพลาดในการทำให้ใช้งานได้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
InvalidQuotaInterval หากช่วงเวลาโควต้าที่ระบุในองค์ประกอบ <Interval> ไม่ จำนวนเต็ม การทำให้พร็อกซี API ใช้งานได้ล้มเหลว ตัวอย่างเช่น ถ้าช่วงโควต้า ที่ระบุคือ 0.1 ในองค์ประกอบ <Interval> แล้วการทำให้ใช้งานได้ของ พร็อกซี API ล้มเหลว
InvalidQuotaTimeUnit หากระบบไม่รองรับหน่วยเวลาที่ระบุในองค์ประกอบ <TimeUnit> การทำให้พร็อกซี API ใช้งานได้ล้มเหลว หน่วยเวลาที่รองรับคือ minute hour, day, week และ month
InvalidQuotaType หากประเภทของโควต้าที่ระบุโดยแอตทริบิวต์ type ใน <Quota> องค์ประกอบไม่ถูกต้อง การทำให้พร็อกซี API ใช้งานได้จึงล้มเหลว ประเภทโควต้าที่รองรับคือ default, calendar, flexi และ rollingwindow
InvalidStartTime หากรูปแบบของเวลาที่ระบุในองค์ประกอบ <StartTime> คือ จะทำให้การใช้งานพร็อกซี API ล้มเหลว รูปแบบที่ถูกต้องคือ yyyy-MM-dd HH:mm:ss ซึ่งจะอยู่ในรูปแบบวันที่และเวลา ISO 8601 สำหรับ ตัวอย่างเช่น หากเวลาที่ระบุในองค์ประกอบ <StartTime> คือ 7-16-2017 12:00:00 การทำให้พร็อกซี API ใช้งานได้ล้มเหลว
StartTimeNotSupported หากมีการระบุองค์ประกอบ <StartTime> ซึ่งไม่ได้กำหนดประเภทโควต้า calendar การทำให้พร็อกซี API ใช้งานได้ล้มเหลว องค์ประกอบ <StartTime> คือ รองรับเฉพาะโควต้าประเภท calendar ตัวอย่างเช่น หากมีการตั้งค่าแอตทริบิวต์ type เป็น flexi หรือ rolling window ในองค์ประกอบ <Quota> แล้วตามด้วยค่า การทำให้พร็อกซี API ใช้งานได้ล้มเหลว
InvalidTimeUnitForDistributedQuota หากตั้งค่าองค์ประกอบ <Distributed> เป็น true และตั้งค่าองค์ประกอบ <TimeUnit> เป็น second การทำให้พร็อกซี API ใช้งานได้ล้มเหลว หน่วยเวลา second ไม่ถูกต้องสำหรับ โควต้าแบบกระจาย
InvalidSynchronizeIntervalForAsyncConfiguration หากค่าที่ระบุสำหรับองค์ประกอบ <SyncIntervalInSeconds> ภายในองค์ประกอบ องค์ประกอบ <AsynchronousConfiguration> ในนโยบายโควต้ามีค่าน้อยกว่า 0 ดังนั้นค่า การทำให้พร็อกซี API ใช้งานได้ล้มเหลว
InvalidAsynchronizeConfigurationForSynchronousQuota หากค่าขององค์ประกอบ <AsynchronousConfiguration> ได้รับการตั้งค่าเป็น true ในนโยบายโควต้า ซึ่ง มีการกำหนดค่าอะซิงโครนัสโดยใช้องค์ประกอบ <AsynchronousConfiguration> แล้ว การทำให้พร็อกซี API ใช้งานได้ล้มเหลว

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทำให้เกิดข้อผิดพลาด โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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> เป็นองค์ประกอบที่จำเป็นและระบุนโยบายโควต้าเป้าหมายที่ควรอัปเดตตัวนับผ่านนโยบายการรีเซ็ตโควต้า
policies.resetquota.FailedToResolveAllowCountRef ไม่มีข้อมูล การอ้างอิงไปยังตัวแปรที่มีจำนวนที่อนุญาตในองค์ประกอบ <Allow> ของนโยบายไม่สามารถแปลงเป็นค่าได้ องค์ประกอบนี้เป็นสิ่งที่จำเป็นและระบุจำนวนที่จะลดตัวนับโควต้า
policies.resetquota.FailedToResolveRLPolicy 500 ระบบจับคู่ตัวแปรที่แอตทริบิวต์ ref อ้างอิงในองค์ประกอบ <Quota> ไม่ได้

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
InvalidCount หากค่าการนับที่ระบุในองค์ประกอบ <Allow> ของนโยบายการรีเซ็ตโควต้าไม่ใช่จำนวนเต็ม การทำให้พร็อกซี API ใช้งานได้จะไม่สำเร็จ

นโยบาย 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}
DuplicatePrefix regularExpressionProtection {0}: คำนำหน้าซ้ำ {1}
EmptyJSONPathExpression regularExpressionProtection {0}: นิพจน์ JSONPath ว่างเปล่า
EmptyXPathExpression regularExpressionProtection {0}: นิพจน์ XPath ว่างเปล่า
InvalidRegularExpression regularExpressionProtection {0}: นิพจน์ทั่วไปไม่ถูกต้อง {1}, บริบท {2}
JSONPathCompilationFailed regularExpressionProtection {0}: คอมไพล์ jsonpath {1} ไม่สำเร็จ บริบท {2}
NONEmptyPrefixMappedToEmptyURI regularExpressionProtection {0}: คำนำหน้าที่ไม่ว่างเปล่า {1} แมปกับ URI ที่ว่างเปล่าไม่ได้
NoPatternsToEnforce regularExpressionProtection {0}: ไม่มีรูปแบบที่จะบังคับใช้ใน {1}
NothingToEnforce RegularExpressionProtection {0}: ต้องมี URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload อย่างน้อย 1 รายการ
XPathCompilationFailed regularExpressionProtection {0}: คอมไพล์ xpath ไม่สำเร็จ {1} บริบท {2}

ตัวแปรของข้อผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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

ข้อผิดพลาดนี้เกิดขึ้นหากตัวแปรที่ระบุในองค์ประกอบ <Source> ของนโยบายมีลักษณะอย่างใดอย่างหนึ่งต่อไปนี้

  • อยู่นอกขอบเขต (ใช้ไม่ได้ในขั้นตอนเฉพาะเจาะจงที่มีการใช้นโยบาย)
  • หรือ
  • แก้ไขไม่ได้ (ไม่ได้กำหนด)
steps.messagevalidation.NonMessageVariable 500

ข้อผิดพลาดนี้เกิดขึ้นหากมีการตั้งค่าองค์ประกอบ <Source> ในนโยบาย SOAPMessageValidation เป็นตัวแปรที่ไม่ใช่ประเภท ข้อความ

ตัวแปรประเภทข้อความจะเป็นตัวแทนของคำขอและการตอบกลับ HTTP ทั้งหมด ตัวแปรโฟลว์ Edge ในตัว request, response และ message เป็นข้อความประเภท ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวแปรข้อความได้ที่ข้อมูลอ้างอิงตัวแปร

steps.messagevalidation.Failed 500 ข้อผิดพลาดนี้เกิดขึ้นหากนโยบาย SOAPMessageValidation ตรวจสอบเพย์โหลดของข้อความอินพุตกับสคีมา XSD หรือคำจำกัดความ WSDL ไม่สำเร็จ และจะเกิดขึ้นหากมี JSON หรือ XML ที่มีรูปแบบไม่ถูกต้องในข้อความเพย์โหลด

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
InvalidResourceType องค์ประกอบ <ResourceURL> ในนโยบาย SOAPMessageValidation มีการตั้งค่าเป็นประเภททรัพยากรที่นโยบายไม่รองรับ
ResourceCompileFailed สคริปต์ทรัพยากรที่อ้างอิงในองค์ประกอบ <ResourceURL> ของนโยบาย SOAPMessageValidation มีข้อผิดพลาดที่ทำให้คอมไพล์ไม่ได้
RootElementNameUnspecified องค์ประกอบ <Element> ในนโยบาย SOAPMessageValidation ไม่มีชื่อขององค์ประกอบราก
InvalidRootElementName องค์ประกอบ <Element> ในนโยบาย SOAPMessageValidation มีชื่อองค์ประกอบรูทที่ไม่สอดคล้องกับกฎ XML สำหรับการตั้งชื่อองค์ประกอบที่ถูกต้อง

นโยบาย SAMLAssertion

ส่วนนี้จะอธิบายรหัสข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดง และตัวแปรข้อผิดพลาดที่กำหนดโดย Edge เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้มีความสำคัญต่อการทราบว่าคุณจะสร้างกฎความผิดพลาดเพื่อ จัดการกับข้อผิดพลาด หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่สิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการ ข้อผิดพลาด

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
SourceNotConfigured องค์ประกอบต่อไปนี้อย่างน้อย 1 รายการสำหรับ Verified SAML Assertion ไม่ได้กำหนดนโยบายหรือว่างเปล่า: <Source>, <XPath> <Namespaces>, <Namespace>
TrustStoreNotConfigured หากองค์ประกอบ <TrustStore> ว่างเปล่าหรือไม่ได้ระบุใน นโยบาย VerifySAMLAssertion จะทำให้การทำให้พร็อกซี API ใช้งานได้ล้มเหลว ต้องระบุ Trust Store ที่ถูกต้อง
NullKeyStoreAlias หากองค์ประกอบย่อย <Alias> ว่างเปล่าหรือไม่ได้ระบุใน <Keystore> ของนโยบาย Generate SAML Assertion แล้วทำให้ API ใช้งานได้ พร็อกซีไม่ทำงาน ต้องมีชื่อแทนคีย์สโตร์ที่ถูกต้อง
NullKeyStore หากองค์ประกอบย่อย <Name> ว่างเปล่าหรือไม่ได้ระบุใน <Keystore> ของนโยบาย GenerateSAMLAssertion แล้ว การทำให้ API ใช้งานได้ พร็อกซีไม่ทำงาน ต้องระบุชื่อคีย์สโตร์ที่ถูกต้อง
NullIssuer หากองค์ประกอบ <Issuer> ว่างเปล่าหรือไม่ได้ระบุในส่วน "สร้าง SAML" นโยบายการยืนยัน การทำให้พร็อกซี API ใช้งานได้ล้มเหลว ต ต้องระบุค่า <Issuer> ที่ถูกต้อง

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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

ข้อผิดพลาดนี้อาจเกิดขึ้นในกรณีต่อไปนี้

  • ระบบจะขอให้นโยบายนี้จัดการอินพุตที่ผิดรูปแบบหรือไม่ถูกต้อง
  • บริการเป้าหมายแบ็กเอนด์จะแสดงสถานะข้อผิดพลาด (โดยค่าเริ่มต้นคือ 4xx หรือ 5xx)
steps.servicecallout.RequestVariableNotMessageType 500 ตัวแปรคำขอที่ระบุในนโยบายไม่ใช่ประเภท "ข้อความ" ตัวอย่างเช่น หาก เป็นสตริงหรือประเภทที่ไม่ใช่ข้อความ คุณจะเห็นข้อผิดพลาดนี้
steps.servicecallout.RequestVariableNotRequestMessageType 500 ตัวแปรคำขอที่ระบุในนโยบายไม่ใช่ประเภท "ข้อความคำขอ" สำหรับ เช่น ถ้าเป็นประเภทการตอบกลับ คุณจะเห็นข้อผิดพลาดนี้

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
URLMissing องค์ประกอบ <URL> ภายใน <HTTPTargetConnection> ไม่มีหรือว่างเปล่า
ConnectionInfoMissing ข้อผิดพลาดนี้เกิดขึ้นหากนโยบายไม่มี <HTTPTargetConnection> หรือ <LocalTargetConnection>
InvalidTimeoutValue ข้อผิดพลาดนี้เกิดขึ้นหากค่า <Timeout> เป็นลบหรือ 0

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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
policies.ratelimit.InvalidMessageWeight 500 ข้อผิดพลาดนี้เกิดขึ้นหากค่าที่ระบุสำหรับองค์ประกอบ <MessageWeight> ถึง ตัวแปรโฟลว์ไม่ถูกต้อง (ค่าที่ไม่ใช่จำนวนเต็ม)
policies.ratelimit.SpikeArrestViolation 429

เกินขีดจำกัดของอัตรา

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
InvalidAllowedRate หากอัตราการจับกุมที่เพิ่มขึ้นอย่างฉับพลันที่ระบุไว้ในองค์ประกอบ <Rate> ของการจับกุม Spike นโยบายไม่ใช่จำนวนเต็มหรือหากราคาไม่มี ps หรือ pm เป็นคำต่อท้าย การทำให้พร็อกซี API ใช้งานได้ล้มเหลว

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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
InvalidName หากชื่อที่ใช้อ้างอิงข้อมูลที่รวบรวมสำหรับตัวแปรที่ระบุซึ่งกำหนดภายในองค์ประกอบ <Statistic> ของนโยบายเครื่องมือรวบรวมสถิติขัดแย้งกับตัวแปรที่ระบบกำหนด การทำให้พร็อกซี API ใช้งานได้จะไม่สำเร็จ ตัวแปรที่กำหนดโดยระบบที่รู้จักบางรายการคือ organization และ environment
DatatypeMissing หากไม่มีประเภทของตัวแปรที่ระบุโดยแอตทริบิวต์ ref ในองค์ประกอบ <Statistic> ของนโยบายเครื่องมือรวบรวมสถิติ จะทำให้ใช้งานพร็อกซี API ไม่สำเร็จ

ตัวแปรของข้อผิดพลาด

ไม่มี

นโยบาย โปรดยืนยัน 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 ในตัวแปรที่ระบุไว้ในส่วน &lt;APIKey&gt; องค์ประกอบ ข้อผิดพลาดนี้จะเกิดขึ้นเมื่อ ไม่มีตัวแปรอยู่ (แก้ไขไม่ได้)
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

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

ข้อผิดพลาดอื่นๆ เกี่ยวกับการทำให้ใช้งานได้ที่เป็นไปได้

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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
InvalidTypeForAdditionalClaim หากการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ใช่ประเภท string, number, boolean หรือ map การทำให้ใช้งานได้จะล้มเหลว
MissingNameForAdditionalClaim หากไม่ได้ระบุชื่อการอ้างสิทธิ์ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> การทำให้ใช้งานได้จะล้มเหลว
InvalidNameForAdditionalHeader ข้อผิดพลาดนี้จะเกิดขึ้นเมื่อชื่อของการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> เป็น alg หรือ typ
InvalidTypeForAdditionalHeader หากประเภทของการอ้างสิทธิ์ที่ใช้ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ใช่ประเภท string, number, boolean หรือ map การทำให้ใช้งานได้จะล้มเหลว
InvalidValueOfArrayAttribute ข้อผิดพลาดนี้เกิดขึ้นเมื่อค่าของแอตทริบิวต์อาร์เรย์ในองค์ประกอบย่อย <Claim> ขององค์ประกอบ <AdditionalClaims> ไม่ได้ตั้งค่าเป็น true หรือ false
InvalidValueForElement หากค่าที่ระบุในองค์ประกอบ <Algorithm> ไม่ใช่ค่าที่รองรับ การทำให้ใช้งานได้จะล้มเหลว
MissingConfigurationElement ข้อผิดพลาดนี้จะเกิดขึ้นหากไม่ได้ใช้องค์ประกอบ <PrivateKey> กับอัลกอริทึมตระกูล RSA หรือไม่ได้ใช้องค์ประกอบ <SecretKey> กับอัลกอริทึมครอบครัว HS
InvalidKeyConfiguration หากไม่ได้กำหนดองค์ประกอบย่อย <Value> ในองค์ประกอบ <PrivateKey> หรือ <SecretKey> การทำให้ใช้งานได้จะล้มเหลว
EmptyElementForKeyConfiguration หากแอตทริบิวต์ ref ขององค์ประกอบย่อย <Value> ขององค์ประกอบ <PrivateKey> หรือ <SecretKey> ว่างเปล่าหรือไม่ได้ระบุ การทำให้ใช้งานได้จะล้มเหลว
InvalidConfigurationForVerify ข้อผิดพลาดนี้เกิดขึ้นหากกำหนดองค์ประกอบ <Id> ไว้ภายในองค์ประกอบ <SecretKey>
InvalidEmptyElement ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <Source> ของนโยบาย "ยืนยัน JWT" ว่างเปล่า หากมี จะต้องกำหนดด้วยชื่อตัวแปรโฟลว์ Edge
InvalidPublicKeyValue หากค่าที่ใช้ในองค์ประกอบย่อย <JWKS> ขององค์ประกอบ <PublicKey> ไม่ได้ใช้รูปแบบที่ถูกต้องตามที่ระบุไว้ใน RFC 7517 การทำให้ใช้งานได้จะล้มเหลว
InvalidConfigurationForActionAndAlgorithm หากใช้องค์ประกอบ <PrivateKey> กับอัลกอริทึม HS Family หรือมีการใช้องค์ประกอบ <SecretKey> กับอัลกอริทึม Family ของ RSA การทำให้ใช้งานได้จะล้มเหลว

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
fault.name="fault_name" fault_name คือชื่อของข้อผิดพลาดตามที่ระบุไว้ในตารางข้อผิดพลาดรันไทม์ด้านบน ชื่อข้อผิดพลาดคือส่วนสุดท้ายของรหัสข้อผิดพลาด fault.name Matches "TokenExpired"
JWT.failed นโยบาย JWT ทั้งหมดตั้งค่าตัวแปรเดียวกันในกรณีที่ดำเนินการไม่สำเร็จ JWT.failed = true

ตัวอย่างการตอบสนองข้อผิดพลาด

โค้ดความผิดพลาดของนโยบาย JWT

สำหรับการจัดการข้อผิดพลาด แนวทางปฏิบัติแนะนำคือให้ดักจับส่วน 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
steps.xmlthreatprotection.InvalidXMLPayload 500 ข้อผิดพลาดนี้เกิดขึ้นหากเพย์โหลดข้อความอินพุตที่ระบุโดยองค์ประกอบ <Source> ของนโยบาย XMLThreatProtection ไม่ใช่เอกสาร XML ที่ถูกต้อง
steps.xmlthreatprotection.SourceUnavailable 500 ข้อผิดพลาดนี้จะเกิดขึ้นหากข้อความ ตัวแปรที่ระบุในองค์ประกอบ <Source> มีดังนี้
  • อยู่นอกขอบเขต (ใช้ไม่ได้ในขั้นตอนที่เจาะจงที่กำลังบังคับใช้นโยบาย)
  • ไม่ใช่หนึ่งในค่าที่ถูกต้อง request, response, หรือ message
steps.xmlthreatprotection.NonMessageVariable 500 ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <Source> ได้รับการตั้งค่าเป็นตัวแปรที่ ไม่ใช่ประเภท message

หมายเหตุ

  • ชื่อข้อผิดพลาด 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 อินพุตไม่ถูกต้องหรือผิดรูปแบบ
steps.xmltojson.InCompatibleType 500 ข้อผิดพลาดนี้เกิดขึ้นหากประเภทตัวแปรที่กำหนดไว้ในองค์ประกอบ <Source> และ องค์ประกอบ <OutputVariable> ไม่เหมือนกัน ซึ่งจำเป็นต้องมีประเภทของตัวแปร ที่มีอยู่ภายในองค์ประกอบ <Source> และองค์ประกอบ <OutputVariable> ตรงกัน
steps.xmltojson.InvalidSourceType 500 ข้อผิดพลาดนี้เกิดขึ้นหากประเภทของตัวแปรที่ใช้กำหนดองค์ประกอบ <Source> คือ ไม่ถูกต้อง ประเภทตัวแปรที่ถูกต้องคือ ข้อความและสตริง
steps.xmltojson.OutputVariableIsNotAvailable 500 ข้อผิดพลาดนี้เกิดขึ้นหากตัวแปรที่ระบุในองค์ประกอบ <Source> ของ XML ถึง นโยบาย JSON เป็นสตริงประเภทและไม่ได้กำหนดองค์ประกอบ <OutputVariable> องค์ประกอบ <OutputVariable> เป็นข้อมูลที่ต้องระบุเมื่อตัวแปรที่กำหนดไว้ใน <Source> จัดอยู่ในประเภทสตริง
steps.xmltojson.SourceUnavailable 500 ข้อผิดพลาดนี้จะเกิดขึ้นหากข้อความ ตัวแปรที่ระบุในองค์ประกอบ <Source> ของนโยบาย XML เป็น JSON มีดังนี้
  • อยู่นอกขอบเขต (ใช้ไม่ได้ในขั้นตอนที่เจาะจงซึ่งจะมีการบังคับใช้นโยบาย) หรือ
  • ไม่สามารถแก้ไขได้ (ไม่ได้กำหนด)

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
EitherOptionOrFormat หากองค์ประกอบใดองค์ประกอบหนึ่ง <Options> หรือ <Format> ไม่ใช่ ที่ประกาศไว้ในนโยบาย XML เป็น JSON การทำให้พร็อกซี API ใช้งานได้จึงล้มเหลว
UnknownFormat หากองค์ประกอบ <Format> ภายในนโยบาย XML เป็น JSON มีข้อมูลที่ไม่รู้จัก กำหนดไว้ การทำให้พร็อกซี API ใช้งานได้ล้มเหลว รูปแบบที่กำหนดไว้ล่วงหน้าได้แก่ xml.com, yahoo, google และ badgerFish

ตัวแปรความผิดพลาด

ระบบจะตั้งค่าตัวแปรเหล่านี้เมื่อเกิดข้อผิดพลาดรันไทม์ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อสิ่งที่คุณจำเป็นต้องทราบ เกี่ยวกับข้อผิดพลาดของนโยบาย

ตัวแปร สถานที่ ตัวอย่าง
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 อยู่นอกขอบเขต (ใช้ไม่ได้ในขั้นตอนเฉพาะเจาะจงที่มีการใช้นโยบาย) หรือจับคู่ไม่ได้ (ไม่ได้กำหนดไว้)
steps.xsl.XSLEvaluationFailed 500 ข้อผิดพลาดนี้เกิดขึ้นหากเพย์โหลด XML ของอินพุตไม่พร้อมใช้งาน/มีรูปแบบไม่ถูกต้อง หรือนโยบาย XSLTransform ล้มเหลว/เปลี่ยนรูปแบบไฟล์ XML อินพุตตามกฎการเปลี่ยนรูปแบบที่ระบุไว้ในไฟล์ XSL ไม่ได้ อาจมีสาเหตุหลายประการที่ทำให้นโยบาย XSLTransform ล้มเหลว สาเหตุที่ข้อความแสดงข้อผิดพลาดล้มเหลวจะให้ข้อมูลเพิ่มเติมเกี่ยวกับสาเหตุ

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
XSLEmptyResourceUrl ถ้าองค์ประกอบ <ResourceURL> ในนโยบายการแปลง XSL ว่างเปล่า จะทำให้ใช้งานพร็อกซี API ไม่สำเร็จ
XSLInvalidResourceType หากประเภททรัพยากรที่ระบุในองค์ประกอบ <ResourceURL> ของนโยบายการแปลง XSL ไม่ใช่ประเภท xsl การทำให้พร็อกซี API ใช้งานได้จะไม่สำเร็จ