คุณกำลังดูเอกสารประกอบ 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
พร้อมให้บริการจากทุกบริบท