Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
message
akış değişkenine ve özelliklerine erişim, API Proxy Akışı içinde erişildiği noktaya bağlıdır. Tüm bağlamlarda kullanılabilir. Ancak request
veya response
gibi bazı nesnelerde kullanılamaz.
Kullanım alanları
message
akış değişkeninin temel kullanım alanı, proxy'nizin hata akışına girmesidir: request
ve response
akış değişkenleri kapsam dışındadır.
Örneğin, hata akışında response
nesnesi bulunmaz. Hata akışındaysanız JavaScript politikasıyla response
nesnesinde yanıt başlıkları ayarlayamazsınız. Bunun yerine, aşağıdakilerden birini kullanabilirsiniz:
Bu nesnelerin her ikisi de hata akışında kullanılabilir ve bir JavaScript politikası içinden yanıt başlıkları ayarlamak veya akış değişkenlerini kullanabilen diğer politikalardan bunlara erişmek için kullanılabilir.
assignMessage politikasını kullanarak üstbilgiler gibi değerleri yanıt nesnesine atayabilirsiniz. Mesajlar, istek/yanıt akışından hata akışına geçişi bağlam içinde otomatik olarak işler.
message
değişkeninin bir başka kullanım alanı da MessageLogging politikasıyla PostClientFlow'da yanıt verilerinin günlüğe kaydedilmesidir. message
nesnesini kullanırsanız proxy'de hem başarı hem de hata koşullarını takip ederek yanıt bilgilerini sorunsuz bir şekilde günlüğe kaydedebilirsiniz.
Örnekler
Hata akışında error
veya message
kullanarak JavaScript politikasından yanıt başlığı ayarlayabilirsiniz. Örneğin:
context.setVariable('error.header.FOO-1', 'error_header');
VEYA
context.setVariable('message.header.FOO-2', 'message_header');
Ancak aşağıdaki ifade kullanılamaz:
context.setVariable('response.header.FOO-3', 'response_header');
Bu durumda, response
değişkeni hata akışında kapsam dışındadır. (Bir izde, bunun görsel olarak üzerinden eğik çizgiyle eşittir işaretiyle gösterilen değişkenlerle belirtildiğini unutmayın.)
Tek bir politikada hem başarılı hem de hata akışları için yanıt başlıkları ayarlamak üzere JavaScript politikasında message
kullanılabilir. Örneğin:
<faultrules> <faultrule name="invalid_key_rule"> <step> <name>SetResponseHeaders</name> </step> <condition>(fault.name = "InvalidApiKey")</condition> </faultrule> </faultrules>
Politikada aşağıdaki gibi bir kod, herhangi bir akış bağlamında hata/yanıt başlığını ayarlar:
context.setVariable('message.header.FOO-1', 'the header value');
Bu politikayı normal ProxyResponse akışında yeniden kullanabilirsiniz. message
tüm bağlamlarda kullanılabildiğinden başarılı olur.