Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Dostęp do zmiennej przepływu message i jej właściwości zależy od punktu w obrębie
z przepływem proxy interfejsu API, w którym uzyskuje się dostęp. Jest dostępny we wszystkich kontekstach, podczas gdy niektóre obiekty
takie jak request czy response.
Przypadki użycia
Podmiot zabezpieczeń zmiennej przepływu message ma miejsce, gdy serwer proxy wpisze
przepływ błędów: zmienne procesu request i response są poza zakresem.
Na przykład w procesie błędu obiekt response jest niedostępny. Nie
możliwość ustawiania nagłówków odpowiedzi w obiekcie response za pomocą zasad JavaScript
w sytuacji błędu. Zamiast tego możesz użyć jednej z tych opcji:
Oba te obiekty są dostępne w procesie błędu i mogą być używane do ustawiania odpowiedzi nagłówki z zasady JavaScript lub są dostępne w innych zasadach, które mogą używać przepływu zmiennych.
Za pomocą zasady AssignMessage możesz przypisywać wartości, takie jak nagłówki, do obiektu response. Opcja Przypisz wiadomość automatycznie obsługuje przełącznik w od przepływu żądań/odpowiedzi do przepływu błędów.
Innym przypadkiem użycia zmiennej message jest rejestrowanie danych odpowiedzi w interfejsie API
PostClientFlow z zasadami MessageLogging. Jeśli użyjesz obiektu message,
możesz bezproblemowo rejestrować informacje o odpowiedziach zarówno po wystąpieniu sukcesu, jak i po wystąpieniu błędu
serwera proxy.
Przykłady
W przypadku procesu błędu możesz ustawić nagłówek odpowiedzi z poziomu zasady JavaScriptu, używając jednego z tych elementów:
error lub message. Na przykład:
context.setVariable('error.header.FOO-1', 'error_header');LUB
context.setVariable('message.header.FOO-2', 'message_header');Poniższe wyrażenie nie będzie jednak działać:
context.setVariable('response.header.FOO-3', 'response_header');W tym przypadku zmienna response wykracza poza zakres raportu
w procesie tworzenia błędów. (Zwróć uwagę, że w logu czasu jest to sygnalizowane przez zmienne oznaczone etykietą równa się
przekreśloną).
Aby ustawić nagłówki odpowiedzi zarówno dla przepływów powodzenia, jak i błędów w jednej zasadzie, musisz
można używać message w zasadach JavaScript. Na przykład:
<faultrules>
<faultrule name="invalid_key_rule">
<step>
<name>SetResponseHeaders</name>
</step>
<condition>(fault.name = "InvalidApiKey")</condition>
</faultrule>
</faultrules>W zasadach kod podobny do poniższego ustawia nagłówek błędu/odpowiedzi w dowolnym kontekście przepływu:
context.setVariable('message.header.FOO-1', 'the header value');Możesz użyć tej samej zasady w normalnym procesie ProxyResponse. Będzie ona udana, ponieważ
Pole message jest dostępne we wszystkich kontekstach.