คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
สิทธิ์เข้าถึงตัวแปรโฟลว์ message และพร็อพเพอร์ตี้จะขึ้นอยู่กับจุดภายใน
โฟลว์พร็อกซี API ที่มีการเข้าถึง ฟีเจอร์นี้พร้อมใช้งานในทุกบริบท ในขณะที่ออบเจ็กต์บางรายการ
เช่น request หรือ response ไม่ใช่
กรณีการใช้งาน
กรณีการใช้งานหลักของตัวแปรโฟลว์ message คือเมื่อพร็อกซีป้อน
โฟลว์ข้อผิดพลาด: ตัวแปรโฟลว์ request และ response อยู่นอกขอบเขต
เช่น ในโฟลว์ข้อผิดพลาด ออบเจ็กต์ response ไม่พร้อมใช้งาน คุณจะไม่
สามารถตั้งค่าส่วนหัวการตอบกลับในออบเจ็กต์ response ด้วยนโยบาย JavaScript
หากอยู่ในขั้นตอนข้อผิดพลาด แต่จะใช้วิธีใดวิธีหนึ่งต่อไปนี้แทนได้
ออบเจ็กต์ทั้ง 2 รายการนี้พร้อมใช้งานในโฟลว์ข้อผิดพลาดและใช้เพื่อตั้งค่าการตอบสนองได้ ส่วนหัวจากภายในนโยบาย JavaScript หรือเข้าถึงได้ในนโยบายอื่นๆ ที่ใช้โฟลว์ได้ ตัวแปร
คุณใช้นโยบาย AssignMessage เพื่อกำหนดค่า เช่น ส่วนหัว ไปยังออบเจ็กต์ response กำหนดข้อความจะจัดการการเปลี่ยนโดยอัตโนมัติ บริบทตั้งแต่ขั้นตอนการส่งคำขอ/การตอบกลับไปจนถึงขั้นตอนข้อผิดพลาด
อีกกรณีหนึ่งที่ใช้สําหรับตัวแปร message คือบันทึกข้อมูลการตอบกลับในส่วน
PostClientFlow โดยใช้นโยบาย MessageLaking หากคุณใช้ออบเจ็กต์ message
คุณจะบันทึกข้อมูลการตอบกลับได้อย่างราบรื่นทั้งหลังจากสภาวะความสำเร็จและข้อผิดพลาดใน
พร็อกซี
ตัวอย่าง
ในโฟลว์ข้อผิดพลาด คุณสามารถตั้งค่าส่วนหัวการตอบกลับจากนโยบาย JavaScript โดยใช้
error หรือ message เช่น
context.setVariable('error.header.FOO-1', 'error_header');หรือ
context.setVariable('message.header.FOO-2', 'message_header');อย่างไรก็ตาม นิพจน์ต่อไปนี้จะไม่มีผล
context.setVariable('response.header.FOO-3', 'response_header');ในกรณีนี้ ตัวแปร response อยู่นอกขอบเขตในไฟล์
โฟลว์ข้อผิดพลาด (โปรดทราบว่าในการติดตาม ตัวแปรนี้จะระบุด้วยตัวแปรที่แสดงด้วยเครื่องหมายเท่ากับ
ที่มีเครื่องหมายขีดทับ)
ในการตั้งค่าส่วนหัวการตอบกลับสำหรับทั้งขั้นตอนความสำเร็จและข้อผิดพลาดในนโยบายเดียว คุณต้อง
ใช้ message ในนโยบาย JavaScript ได้ เช่น
<faultrules>
<faultrule name="invalid_key_rule">
<step>
<name>SetResponseHeaders</name>
</step>
<condition>(fault.name = "InvalidApiKey")</condition>
</faultrule>
</faultrules>ในนโยบาย โค้ดดังตัวอย่างต่อไปนี้จะตั้งค่าส่วนหัวข้อผิดพลาด/การตอบกลับในบริบทของขั้นตอนใดๆ
context.setVariable('message.header.FOO-1', 'the header value');คุณสามารถใช้นโยบายเดียวกันนี้ซ้ำในขั้นตอน ProxyResponse ปกติ ซึ่งจะดำเนินการสำเร็จเนื่องจาก
message พร้อมให้บริการจากทุกบริบท