Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat Dokumentasi Apigee Edge.
Akses ke variabel alur message
dan propertinya bergantung pada titik di dalam
Alur Proxy API yang diakses. Model ini tersedia dalam semua konteks, sementara beberapa objek,
seperti request
atau response
tidak direkomendasikan.
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 menyetel header respons pada objek response
dengan kebijakan JavaScript
jika Anda berada
dalam alur kesalahan. Sebagai gantinya, Anda dapat menggunakan salah satu opsi berikut:
Kedua objek ini tersedia dalam alur error, dan dapat digunakan untuk menetapkan respons header dari dalam kebijakan JavaScript atau diakses di kebijakan lain yang dapat menggunakan perintah variabel.
Anda dapat menggunakan kebijakan TetapkanMessage untuk menetapkan nilai, seperti header, ke objek response. TetapkanMessage menangani peralihan secara otomatis di konteks dari alur permintaan/respons ke alur error.
Kasus penggunaan lainnya untuk variabel message
adalah mencatat data respons ke dalam log
PostClientFlow dengan kebijakan MessageLogging. Jika Anda menggunakan objek message
,
Anda dapat dengan lancar mencatat informasi respons mengikuti kondisi keberhasilan dan error di
{i>proxy<i}.
Contoh
Dalam alur error, Anda dapat menetapkan header respons dari kebijakan JavaScript menggunakan salah satu
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 di
alur error. (Perhatikan bahwa dalam sebuah pelacakan, hal ini ditunjukkan secara visual oleh variabel yang ditunjukkan dengan tanda sama dengan
tanda tangan dengan
garis miring.)
Untuk menyetel header respons bagi 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, kode seperti berikut akan 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 langkah ini akan berhasil karena
message
tersedia dari semua konteks.