คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
อะไร
สร้างข้อความที่กำหนดเองเพื่อตอบสนองต่อเงื่อนไขที่ผิดพลาด ใช้ RaiseFault เพื่อกำหนด การตอบกลับข้อผิดพลาดที่ส่งคืนไปยังแอปที่ขอเมื่อเกิดปัญหาบางอย่างขึ้น
สำหรับข้อมูลทั่วไปเกี่ยวกับการจัดการข้อผิดพลาด โปรดดูที่หัวข้อการจัดการข้อผิดพลาด
ตัวอย่าง
การตอบกลับข้อผิดพลาดในการคืนสินค้า
ในการใช้งานที่พบบ่อยที่สุด 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 จะโอนตัวควบคุมจากโฟลว์ปัจจุบันไปยังข้อผิดพลาด ซึ่งจะส่งการตอบกลับข้อผิดพลาดที่กำหนดไปยังแอปไคลเอ็นต์ที่ขอ เมื่อ โฟลว์ข้อความจะเปลี่ยนเป็นโฟลว์ข้อผิดพลาด และจะไม่มีการประมวลผลข้อมูลนโยบายเพิ่มเติม ที่เหลือทั้งหมด ข้ามขั้นตอนการประมวลผล และส่งคืนการตอบกลับข้อผิดพลาดไปยังคำขอโดยตรง แอป
คุณสามารถใช้ 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 |
ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ (ไม่บังคับ) ใช้องค์ประกอบ |
ไม่มี | ต้องระบุ |
continueOnError |
ตั้งค่าเป็น ตั้งค่าเป็น |
เท็จ | ไม่บังคับ |
enabled |
ตั้งค่าเป็น ตั้งค่าเป็น |
จริง | ไม่บังคับ |
async |
แอตทริบิวต์นี้เลิกใช้งานแล้ว |
เท็จ | เลิกใช้ |
<DisplayName> องค์ประกอบ
ใช้เพิ่มเติมจากแอตทริบิวต์ name
เพื่อติดป้ายกำกับนโยบายใน
เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติต่างกัน
<DisplayName>Policy Display Name</DisplayName>
ค่าเริ่มต้น |
ไม่มี หากไม่ใส่องค์ประกอบนี้ ค่าของแอตทริบิวต์ |
---|---|
การมีบุคคลอยู่ | ไม่บังคับ |
ประเภท | สตริง |
<IgnoreUnresolvedVariables> องค์ประกอบ
(ไม่บังคับ) ไม่สนใจข้อผิดพลาดเกี่ยวกับตัวแปรที่ยังไม่ได้แก้ไขในโฟลว์ ค่าที่ใช้ได้คือ true/false
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 จะสามารถเข้าถึงตัวแปรได้ด้วย ตัวอย่างเช่น URL ต่อไปนี้ นโยบาย 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 for 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> องค์ประกอบ
คัดลอกข้อมูลจากข้อความที่ระบุโดย
source
จะระบุ to ข้อความแสดงข้อผิดพลาด
<Copy source="request"> <Headers/> <StatusCode/> <ReasonPhrase/> </Copy>
ค่าเริ่มต้น: |
ไม่มี |
การตรวจหาบุคคล: |
ไม่บังคับ |
ประเภท: |
สตริง |
Attributes
<Copy source="response">
แอตทริบิวต์ | คำอธิบาย | การมีบุคคลอยู่ | ประเภท |
---|---|---|---|
source |
ระบุออบเจ็กต์ต้นฉบับของสำเนา
|
ไม่บังคับ | สตริง |
<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" และค่าที่สองของ "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" และค่าที่สองของ "h3" ออก หากเป็น "h3" มีเพียงรายการเดียว ระบบก็จะไม่ลบออก
ค่าเริ่มต้น: |
ไม่มี |
การตรวจหาบุคคล: |
ไม่บังคับ |
ประเภท: |
สตริง |
<FaultResponse><Set> องค์ประกอบ
ตั้งค่าข้อมูลในข้อความแสดงข้อผิดพลาด
<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 ไว้ ระบบจะกำหนดค่าให้กับ |
ไม่บังคับ | สตริง |
variablePrefix | (ไม่บังคับ) ระบุตัวคั่นข้างหน้าในตัวแปรโฟลว์ เนื่องจากเพย์โหลด JSON ใช้ค่าเริ่มต้น "{" ไม่ได้ อักขระ | ไม่บังคับ | ถ่าน |
variableSuffix | (ไม่บังคับ) ระบุตัวคั่นข้างหลังในโฟลว์ เนื่องจากเพย์โหลด JSON ไม่สามารถใช้ค่าเริ่มต้น "}" อักขระ | ไม่บังคับ | ถ่าน |
<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"}}}
ค่าที่ใช้ได้: true/false(ค่าเริ่มต้น)
ค่าเริ่มต้น: |
เท็จ |
การตรวจหาบุคคล: |
ไม่บังคับ |
ประเภท: |
บูลีน |
ตัวแปรโฟลว์
ตัวแปรโฟลว์จะเปิดใช้ลักษณะการทำงานแบบไดนามิกของนโยบายและโฟลว์ขณะรันไทม์ โดยอิงตาม 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