นโยบาย RaiseFault

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

อะไร

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

ดูข้อมูลทั่วไปเกี่ยวกับการจัดการข้อบกพร่องได้ที่การจัดการข้อบกพร่อง

ตัวอย่าง

Return FaultResponse

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

<RaiseFault name="404">
 <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
 <FaultResponse>
   <Set>
     <StatusCode>404</StatusCode>
     <ReasonPhrase>The resource requested was not found</ReasonPhrase>
   </Set>
 </FaultResponse>
</RaiseFault>

เพย์โหลด FaultResponse ที่ส่งคืน

ตัวอย่างที่ซับซ้อนกว่านั้นเกี่ยวข้องกับการแสดงผลเพย์โหลดการตอบกลับข้อผิดพลาดที่กำหนดเอง พร้อมด้วยส่วนหัว HTTP และรหัสสถานะ HTTP ในตัวอย่างต่อไปนี้ การตอบกลับข้อผิดพลาดจะได้รับการป้อนข้อมูล ด้วยข้อความ XML ที่มีรหัสสถานะ HTTP ที่ Edge ได้รับจากบริการแบ็กเอนด์ และส่วนหัวที่มีประเภทข้อผิดพลาดที่เกิดขึ้น

<RaiseFault name="ExceptionHandler">
 <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
 <FaultResponse>
   <Set>
     <Payload contentType="text/xml">
       <root>Please contact support@company.com</root>
     </Payload>
     <StatusCode>{response.status.code}</StatusCode>
     <ReasonPhrase>Server error</ReasonPhrase>
   </Set>
   <Add>
     <Headers>
       <Header name="FaultHeader">{fault.name}</Header>
     </Headers>
   </Add>
 </FaultResponse>
</RaiseFault>

ดูรายการตัวแปรทั้งหมดที่ใช้ในการป้อนข้อมูล FaultResponse แบบไดนามิกได้ที่การอ้างอิง ตัวแปร

จัดการข้อผิดพลาดในการเรียกใช้บริการ


เกี่ยวกับนโยบาย RaiseFault

Apigee Edge ช่วยให้คุณจัดการข้อยกเว้นที่กำหนดเองได้โดยใช้นโยบายประเภท RaiseFault นโยบาย RaiseFault ซึ่งคล้ายกับ นโยบาย AssignMessage ช่วยให้คุณสร้างการตอบกลับข้อผิดพลาดที่กำหนดเองได้เมื่อเกิดข้อผิดพลาด

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

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

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

การอ้างอิงองค์ประกอบ

การอ้างอิงองค์ประกอบจะอธิบายองค์ประกอบและแอตทริบิวต์ของนโยบาย RaiseFault

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RaiseFault async="false" continueOnError="false" enabled="true" name="Raise-Fault-1">
    <DisplayName>RaiseFault 1</DisplayName>
    <FaultResponse>
        <AssignVariable>
          <Name/>
          <Value/>
        </AssignVariable>
        <Add>
            <Headers/>
        </Add>
        <Copy source="request">
            <Headers/>
            <StatusCode/>
            <ReasonPhrase/>
        </Copy>
        <Remove>
            <Headers/>
        </Remove>
        <Set>
            <Headers/>
            <Payload/>
            <ReasonPhrase/>
            <StatusCode/>
        </Set>
    </FaultResponse>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</RaiseFault>

แอตทริบิวต์ <RaiseFault>

<RaiseFault async="false" continueOnError="false" enabled="true" name="Raise-Fault-1">

ตารางต่อไปนี้อธิบายแอตทริบิวต์ทั่วไปในองค์ประกอบระดับบนสุดของนโยบายทั้งหมด

แอตทริบิวต์ คำอธิบาย ค่าเริ่มต้น การมีบุคคลอยู่
name

ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ name สามารถ ประกอบด้วยตัวอักษร ตัวเลข การเว้นวรรค ขีดกลางสั้น ขีดล่าง และจุด ค่านี้ไม่สามารถ เกิน 255 อักขระ

(ไม่บังคับ) ใช้องค์ประกอบ <DisplayName> เพื่อติดป้ายกำกับนโยบายใน เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติต่างกัน

ไม่มี ต้องระบุ
continueOnError

ตั้งค่าเป็น false เพื่อแสดงผลข้อผิดพลาดเมื่อนโยบายล้มเหลว เป็นเรื่องปกติ พฤติกรรมสำหรับนโยบายส่วนใหญ่

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

เท็จ ไม่บังคับ
enabled

ตั้งค่าเป็น true เพื่อบังคับใช้นโยบาย

ตั้งค่าเป็น false เพื่อปิดนโยบาย นโยบายจะไม่ บังคับใช้ แม้ว่าจะยังคงแนบกับขั้นตอน

จริง ไม่บังคับ
async

แอตทริบิวต์นี้เลิกใช้งานแล้ว

เท็จ เลิกใช้

&lt;DisplayName&gt; องค์ประกอบ

ใช้เพิ่มเติมจากแอตทริบิวต์ name เพื่อติดป้ายกำกับนโยบายใน เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติต่างกัน

<DisplayName>Policy Display Name</DisplayName>
ค่าเริ่มต้น

ไม่มี

หากไม่ใส่องค์ประกอบนี้ ค่าของแอตทริบิวต์ name ของนโยบายจะเป็น

การมีบุคคลอยู่ ไม่บังคับ
ประเภท สตริง

องค์ประกอบ <IgnoreUnresolvedVariables>

(ไม่บังคับ) ละเว้นข้อผิดพลาดของตัวแปรที่ยังไม่ได้รับการแก้ไขในโฟลว์ ค่าที่ใช้ได้: จริง/เท็จ ค่าเริ่มต้น true

องค์ประกอบ <FaultResponse>

(ไม่บังคับ) กำหนดข้อความตอบกลับที่ส่งคืนไปยังไคลเอ็นต์ที่ส่งคำขอ FaultResponse ใช้การตั้งค่าเดียวกับนโยบาย AssignMessage (ไม่พร้อมใช้งานใน Apigee Edge สำหรับ Private Cloud)

องค์ประกอบ <FaultResponse><AssignVariable>

กำหนดค่าให้กับตัวแปรโฟลว์ปลายทาง หากไม่มีตัวแปรโฟลว์ AssignVariable จะสร้างตัวแปรดังกล่าว

ตัวอย่างเช่น ใช้โค้ดต่อไปนี้เพื่อตั้งค่าตัวแปรชื่อ myFaultVar ในนโยบาย RaiseFault

<FaultResponse>
  <AssignVariable>
    <Name>myFaultVar</Name>
    <Value>42</Value>
  </AssignVariable>
  ...
</FaultResponse>

จากนั้นคุณจะอ้างอิงตัวแปรนั้นในเทมเพลตข้อความได้ในภายหลังในนโยบาย RaiseFault นอกจากนี้ นโยบายที่แนบกับ FaultRule จะเข้าถึงตัวแปรได้ ตัวอย่างเช่น นโยบาย AssignMessage ต่อไปนี้ ใช้ตัวแปรที่ตั้งค่าไว้ใน RaiseFault เพื่อตั้งค่าส่วนหัวในการตอบกลับข้อผิดพลาด

<AssignMessage enabled="true" name="Assign-Message-1">
  <Add>
    <Headers>
      <Header name="newvar">{myFaultVar}</Header>
    </Headers>
  </Add>
  <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
  <AssignTo createNew="false" transport="http" type="response"/>
</AssignMessage>

<AssignVariable> ในนโยบาย RaiseFault จะใช้ไวยากรณ์เดียวกันกับองค์ประกอบ <AssignVariable> ในนโยบาย AssignMessage โปรดทราบว่าฟังก์ชันนี้ ยังไม่พร้อมใช้งานใน Apigee Edge สำหรับ Private Cloud

องค์ประกอบ <FaultResponse><Add>/<Headers>

เพิ่มส่วนหัว HTTP ลงในข้อความแสดงข้อผิดพลาด โปรดทราบว่าส่วนหัวที่ว่างเปล่า <Add><Headers/></Add> จะไม่เพิ่มส่วนหัวใดๆ ตัวอย่างนี้คัดลอกค่าของตัวแปรโฟลว์ request.user.agent ไปยังส่วนหัว

<Add>
    <Headers>
        <Header name="user-agent">{request.user.agent}</Header>
    </Headers>
</Add>

ค่าเริ่มต้น:

ไม่มี

การแสดงตน:

ไม่บังคับ

ประเภท:

สตริง

<FaultResponse><Copy> element

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

    <Copy source="request">
        <Headers/>
        <StatusCode/>
        <ReasonPhrase/>
    </Copy>

ค่าเริ่มต้น:

ไม่มี

การแสดงตน:

ไม่บังคับ

ประเภท:

สตริง

Attributes

 <Copy source="response">
แอตทริบิวต์ คำอธิบาย การมีบุคคลอยู่ ประเภท
source

ระบุออบเจ็กต์ต้นทางของการคัดลอก

  • หากไม่ได้ระบุ source ระบบจะถือว่าเป็นข้อความธรรมดา ตัวอย่างเช่น หากนโยบายอยู่ใน โฟลว์คำขอ แหล่งที่มาจะใช้ค่าเริ่มต้นเป็นออบเจ็กต์คำขอ หากนโยบายอยู่ใน โฟลว์การตอบกลับ ค่าเริ่มต้นจะเป็นออบเจ็กต์การตอบกลับ หากไม่ระบุ source คุณจะใช้ การอ้างอิงแบบสัมบูรณ์ไปยังตัวแปรโฟลว์เป็นแหล่งที่มาของการคัดลอกได้ เช่น ระบุค่าเป็น {request.header.user-agent}
  • หากไม่สามารถระบุตัวแปรแหล่งที่มา หรือระบุเป็นประเภทที่ไม่ใช่ข้อความ <Copy> จะไม่สามารถ ตอบกลับได้
ไม่บังคับ สตริง

องค์ประกอบ <FaultResponse><Copy>/<Headers>

คัดลอกส่วนหัว HTTP ที่ระบุจากแหล่งที่มาไปยังข้อความแสดงข้อผิดพลาด หากต้องการคัดลอกส่วนหัวทั้งหมด ให้ระบุ <Copy><Headers/></Copy>.

<Copy source='request'>
    <Headers>      
        <Header name="headerName"/>
    </Headers> 
</Copy>

หากมีส่วนหัวหลายรายการที่มีชื่อเดียวกัน ให้ใช้ไวยากรณ์ต่อไปนี้

<Copy source='request'>
    <Headers>
      <Header name="h1"/>
      <Header name="h2"/>
      <Header name="h3.2"/>
    </Headers>
</Copy>

ตัวอย่างนี้จะคัดลอก "h1", "h2" และค่าที่ 2 ของ "h3" หาก "h3" มีค่าเพียงค่าเดียว ระบบจะไม่คัดลอก

ค่าเริ่มต้น:

ไม่มี

การแสดงตน:

ไม่บังคับ

ประเภท:

สตริง

องค์ประกอบ <FaultResponse><Copy>/<StatusCode>

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

<Copy source='response'>
    <StatusCode>404</StatusCode>      
</Copy>

ค่าเริ่มต้น:

เท็จ

การแสดงตน:

ไม่บังคับ

ประเภท:

สตริง

องค์ประกอบ <FaultResponse><Copy>/<ReasonPhrase>

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

<Copy source='response'>     
    <ReasonPhrase>The resource requested was not found.</ReasonPhrase>     
</Copy>

ค่าเริ่มต้น:

เท็จ

การแสดงตน:

ไม่บังคับ

ประเภท:

สตริง

องค์ประกอบ <FaultResponse><Remove>/<Headers>

นำส่วนหัว HTTP ที่ระบุออกจากข้อความแสดงข้อผิดพลาด หากต้องการนำส่วนหัวทั้งหมดออก ให้ระบุ <Remove><Headers/></Remove> ตัวอย่างนี้จะนำส่วนหัว user-agent ออกจากข้อความ

<Remove>     
    <Headers>      
        <Header name="user-agent"/>     
    </Headers> 
</Remove>

หากมีส่วนหัวหลายรายการที่มีชื่อเดียวกัน ให้ใช้ไวยากรณ์ต่อไปนี้

<Remove>
    <Headers>
      <Header name="h1"/>
      <Header name="h2"/>
      <Header name="h3.2"/>
    </Headers>
</Remove>

ตัวอย่างนี้จะนำ "h1", "h2" และค่าที่ 2 ของ "h3" ออก หาก "h3" มีค่าเพียงค่าเดียว ระบบจะไม่นำออก

ค่าเริ่มต้น:

ไม่มี

การแสดงตน:

ไม่บังคับ

ประเภท:

สตริง

<FaultResponse><Set> element

ตั้งค่าข้อมูลในข้อความแสดงข้อผิดพลาด

    <Set>
        <Headers/>
        <Payload> </Payload>
        <StatusCode/>
        <ReasonPhrase/>
    </Set>

ค่าเริ่มต้น:

ไม่มี

การแสดงตน:

ไม่บังคับ

ประเภท:

ไม่มี

องค์ประกอบ <FaultResponse>/<Set>/<Headers>

ตั้งค่าหรือเขียนทับส่วนหัว HTTP ในข้อความแสดงข้อผิดพลาด โปรดทราบว่าส่วนหัวที่ว่างเปล่า <Set><Headers/></Set> จะไม่ตั้งค่าส่วนหัวใดๆ ตัวอย่างนี้ตั้งค่าส่วนหัว user-agent เป็นตัวแปรข้อความที่ระบุด้วยองค์ประกอบ <AssignTo>

<Set>
    <Headers>
        <Header name="user-agent">{request.header.user-agent}</Header>     
    </Headers>
</Set>

ค่าเริ่มต้น:

ไม่มี

การแสดงตน:

ไม่บังคับ

ประเภท:

สตริง

องค์ประกอบ <FaultResponse>/<Set>/<Payload>

ตั้งค่าเพย์โหลดของข้อความแสดงข้อผิดพลาด

<Set>
    <Payload contentType="text/plain">test1234</Payload>
</Set>

ตั้งค่าเพย์โหลด JSON

<Set>
    <Payload contentType="application/json">
        {"name":"foo", "type":"bar"}
    </Payload>
</Set>

ในเพย์โหลด JSON คุณสามารถแทรกตัวแปรโดยใช้แอตทริบิวต์ variablePrefix และ variableSuffix ที่มีอักขระตัวคั่นดังที่แสดงในตัวอย่างต่อไปนี้

<Set>
    <Payload contentType="application/json" variablePrefix="@" variableSuffix="#">
        {"name":"foo", "type":"@variable_name#"}
    </Payload>
</Set>

หรือตั้งแต่เวอร์ชันคลาวด์ 16.08.17 เป็นต้นไป คุณยังใช้เครื่องหมายปีกกาเพื่อแทรกตัวแปรได้ด้วย

<Set>
    <Payload contentType="application/json">
        {"name":"foo", "type":"{variable_name}"}
    </Payload>
</Set>

ตั้งค่าเพย์โหลดแบบผสมใน XML

<Set>
    <Payload contentType="text/xml">
        <root>
          <e1>sunday</e1>
          <e2>funday</e2>
          <e3>{var1}</e3>
    </Payload>
</Set>

ค่าเริ่มต้น:

การแสดงตน:

ไม่บังคับ

ประเภท:

สตริง

Attributes

 
<Payload contentType="content_type" variablePrefix="char" variableSuffix="char">
แอตทริบิวต์ คำอธิบาย การมีบุคคลอยู่ ประเภท
contentType

หากระบุ contentType ระบบจะกำหนดค่าให้กับส่วนหัว Content-Type

ไม่บังคับ สตริง
variablePrefix ระบุตัวคั่นนำหน้าในตัวแปรโฟลว์ (ไม่บังคับ) เนื่องจากเพย์โหลด JSON ไม่สามารถใช้อักขระ "{" เริ่มต้นได้ ไม่บังคับ Char
variableSuffix ระบุตัวคั่นต่อท้ายในตัวแปรโฟลว์ (ไม่บังคับ) เนื่องจากเพย์โหลด JSON ไม่สามารถใช้อักขระ "}" เริ่มต้นได้ ไม่บังคับ Char

องค์ประกอบ <FaultResponse>/<Set>/<StatusCode>

ตั้งค่ารหัสสถานะของการตอบกลับ

<Set source='request'>
    <StatusCode>404</StatusCode>
</Set>

ค่าเริ่มต้น:

เท็จ

การแสดงตน:

ไม่บังคับ

ประเภท:

บูลีน

องค์ประกอบ <FaultResponse>/<Set>/<ReasonPhrase>

กำหนดวลีเหตุผลของการตอบกลับ

<Set source='request'>     
    <ReasonPhrase>The resource requested was not found.</ReasonPhrase>
</Set>

ค่าเริ่มต้น:

เท็จ

การแสดงตน:

ไม่บังคับ

ประเภท:

บูลีน

องค์ประกอบ <ShortFaultReason>

ระบุให้แสดงเหตุผลสั้นๆ ของข้อผิดพลาดในการตอบกลับ

<ShortFaultReason>true|false</ShortFaultReason>

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

"fault":{"faultstring":"Raising fault. Fault name : Raise-Fault-1","detail":{"errorcode":"errorCode"}}}

หากต้องการให้ข้อความอ่านง่ายขึ้น คุณสามารถตั้งค่าองค์ประกอบ <ShortFaultReason> เป็น true เพื่อย่อ faultstring ให้เหลือเพียงชื่อนโยบายได้

"fault":{"faultstring":"Raise-Fault-1","detail":{"errorcode":"errorCode"}}}

ค่าที่ใช้ได้: จริง/เท็จ(ค่าเริ่มต้น)

ค่าเริ่มต้น:

เท็จ

การแสดงตน:

ไม่บังคับ

ประเภท:

บูลีน

ตัวแปรโฟลว์

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

ตัวแปร ประเภท สิทธิ์ คำอธิบาย
fault.name สตริง อ่านอย่างเดียว เมื่อนโยบาย RaiseFault ทำงาน ระบบจะตั้งค่าตัวแปรนี้เป็นสตริง RaiseFault เสมอ
fault.type สตริง อ่านอย่างเดียว แสดงผลประเภทข้อบกพร่องในข้อผิดพลาด และหากไม่มี ให้แสดงผลสตริงว่าง
fault.category สตริง อ่านอย่างเดียว แสดงผลหมวดหมู่ข้อบกพร่องในข้อผิดพลาด และหากไม่มี ให้แสดงผลสตริงว่าง

ตัวอย่างการใช้ RaiseFault

ตัวอย่างต่อไปนี้ใช้เงื่อนไขเพื่อบังคับให้มี queryparam ที่มีชื่อ zipcode ในคำขอขาเข้า หากไม่มี queryparam โฟลว์จะทำให้เกิดข้อผิดพลาดผ่าน RaiseFault ดังนี้

<Flow name="flow-1">
  <Request>
    <Step>
        <Name>RF-Error-MissingQueryParam</Name>
        <Condition>request.queryparam.zipcode = null</Condition>
    </Step>
   ...
   </Request>
   ...
   <Condition>(proxy.pathsuffix MatchesPath "/locations") and (request.verb = "GET")</Condition>
</Flow>
ภาพต่อไปนี้แสดงสิ่งที่อยู่ใน RaiseFault
<RaiseFault name='RF-Error-MissingQueryParam'>
  <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
  <FaultResponse>
    <Set>
      <Payload contentType='application/json'>{
  "error" : {
    "code" : 400.02,
    "message" : "invalid request. Pass a zipcode queryparam."
  }
}
</Payload>
      <StatusCode>400</StatusCode>
      <ReasonPhrase>Bad Request</ReasonPhrase>
    </Set>
  </FaultResponse>
</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]"
   }
}

สคีมา

นโยบายแต่ละประเภทกำหนดโดยสคีมา XML (.xsd) สคีมานโยบาย มีอยู่ใน GitHub

หัวข้อที่เกี่ยวข้อง

ดูการจัดการข้อบกพร่อง