Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
L'accesso alla variabile di flusso message
e alle sue proprietà dipende dal punto all'interno
il flusso del proxy API in cui si accede. È disponibile in tutti i contesti, mentre alcuni oggetti,
come request
o response
, non lo sono.
Casi d'uso
Il caso d'uso principale per la variabile di flusso message
si verifica quando il proxy inserisce la variabile
flusso di errori: le variabili di flusso request
e response
non rientrano nell'ambito.
Ad esempio, nel flusso di errore, l'oggetto response
non è disponibile. Non
potrà impostare le intestazioni delle risposte sull'oggetto response
con il criterio JavaScript
se ti trovi nel flusso di errore. Puoi utilizzare invece una delle seguenti opzioni:
Entrambi questi oggetti sono disponibili nel flusso di errore e possono essere utilizzati per impostare la risposta o accessibili in altri criteri che possono utilizzare il flusso come la codifica one-hot delle variabili categoriche.
Puoi utilizzare il criterioAssignMessage per assegnare valori, come intestazioni, all'oggetto response. Assegna messaggio gestisce automaticamente il passaggio in contesto dal flusso di richiesta/risposta al flusso di errore.
Un altro caso d'uso per la variabile message
è registrare i dati delle risposte nel
PostClientFlow con il criterio MessageLogging. Se utilizzi l'oggetto message
,
puoi registrare facilmente le informazioni di risposta in seguito a condizioni di successo ed errore nel
proxy.
Esempi
Durante un flusso di errore, puoi impostare un'intestazione della risposta da un criterio JavaScript utilizzando
error
o message
. Ad esempio:
context.setVariable('error.header.FOO-1', 'error_header');
OPPURE
context.setVariable('message.header.FOO-2', 'message_header');
Tuttavia, la seguente espressione non funziona:
context.setVariable('response.header.FOO-3', 'response_header');
In questo caso, la variabile response
non rientra nell'ambito della
flusso di errori. Tieni presente che, in una traccia, questo è indicato visivamente da variabili contrassegnate da un uguale a
barrato).
Per impostare le intestazioni delle risposte per i flussi di successo e di errore in un unico criterio,
può utilizzare message
all'interno di un criterio JavaScript. Ad esempio:
<faultrules> <faultrule name="invalid_key_rule"> <step> <name>SetResponseHeaders</name> </step> <condition>(fault.name = "InvalidApiKey")</condition> </faultrule> </faultrules>
Nel criterio, un codice come il seguente imposta l'intestazione errore/risposta in qualsiasi contesto di flusso:
context.setVariable('message.header.FOO-1', 'the header value');
Puoi riutilizzare questo criterio nel normale flusso ProxyResponse e l'operazione avrà esito positivo
message
è disponibile in tutti i contesti.