Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Akses ke variabel alur message
dan propertinya bergantung pada titik dalam
Alur Proxy API tempat akses tersebut. Fitur ini tersedia dalam semua konteks, sedangkan beberapa objek, seperti request
atau response
, tidak.
Kasus penggunaan
Kasus penggunaan utama untuk variabel alur message
adalah saat proxy Anda memasuki
alur error: variabel alur request
dan response
berada di luar cakupan.
Misalnya, dalam alur error, objek response
tidak tersedia. Anda tidak akan dapat menetapkan header respons pada objek response
dengan kebijakan JavaScript jika Anda berada di alur error. Sebagai gantinya, Anda dapat menggunakan salah satu dari yang berikut:
Kedua objek ini tersedia dalam alur error, dan dapat digunakan untuk menetapkan header respons dari dalam kebijakan JavaScript atau dapat diakses dalam kebijakan lain yang dapat menggunakan variabel alur.
Anda dapat menggunakan kebijakanAssignMessage untuk menetapkan nilai, seperti header, ke objek response. Tetapkan Pesan akan otomatis menangani peralihan dalam konteks dari alur permintaan/respons hingga alur error.
Kasus penggunaan lain untuk variabel message
adalah mencatat log data respons di PostClientFlow dengan kebijakan MessageLogging. Jika menggunakan objek message
, Anda dapat mencatat informasi respons ke dalam log dengan lancar mengikuti kondisi berhasil dan error di proxy.
Contoh
Dalam alur error, Anda dapat menetapkan header respons dari kebijakan JavaScript menggunakan
error
atau message
. Contoh:
context.setVariable('error.header.FOO-1', 'error_header');
ATAU
context.setVariable('message.header.FOO-2', 'message_header');
Namun, ekspresi berikut tidak akan berfungsi:
context.setVariable('response.header.FOO-3', 'response_header');
Dalam hal ini, variabel response
berada di luar cakupan dalam
alur error. (Perhatikan bahwa dalam rekaman aktivitas, hal ini ditunjukkan secara visual oleh variabel yang ditampilkan dengan tanda sama dengan
yang diberi garis miring.)
Guna menetapkan header respons untuk alur berhasil dan error dalam satu kebijakan, Anda
dapat menggunakan message
di dalam kebijakan JavaScript. Contoh:
<faultrules> <faultrule name="invalid_key_rule"> <step> <name>SetResponseHeaders</name> </step> <condition>(fault.name = "InvalidApiKey")</condition> </faultrule> </faultrules>
Dalam kebijakan ini, kode seperti berikut menetapkan header error/respons dalam konteks alur apa pun:
context.setVariable('message.header.FOO-1', 'the header value');
Anda dapat menggunakan kembali kebijakan yang sama ini pada alur ProxyResponse normal dan akan berhasil karena message
tersedia dari semua konteks.