Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
L'accesso alla variabile di flusso message
e alle sue proprietà dipende dal punto all'interno del flusso proxy API in cui si esegue l'accesso. È 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 entra nel flusso di errori: le variabili di flusso request
e response
non rientrano nell'ambito.
Ad esempio, nel flusso di errori, l'oggetto response
non è disponibile. Se ti trovi nel flusso di errori, non potrai impostare intestazioni di risposta nell'oggetto response
con i criteri JavaScript. Puoi invece utilizzare una delle seguenti opzioni:
Entrambi questi oggetti sono disponibili nel flusso di errore e possono essere utilizzati per impostare le intestazioni delle risposte dall'interno di un criterio JavaScript o per accedervi in altri criteri che possono utilizzare variabili di flusso.
Puoi utilizzare il criterioAssignMessage per assegnare valori, ad esempio le intestazioni, all'oggetto response. Assegna Messaggio gestisce automaticamente il cambio nel contesto, dal flusso di richiesta/risposta al flusso di errori.
Un altro caso d'uso per la variabile message
è registrare i dati delle risposte in PostClientFlow con il criterio MessageLogging. Se utilizzi l'oggetto message
,
puoi registrare senza problemi le informazioni relative alle risposte seguendo sia le condizioni di esito positivo che di
errore nel proxy.
Esempi
In 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');
La seguente espressione, tuttavia, non funzionerà:
context.setVariable('response.header.FOO-3', 'response_header');
In questo caso, la variabile response
non rientra nell'ambito del flusso di errori. Tieni presente che, in una traccia, questo viene indicato visivamente da variabili mostrate con un segno uguale barrato.
Per impostare intestazioni di risposta per i flussi di operazione riuscita e di errore in un unico criterio, puoi 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 simile al seguente imposta l'intestazione errore/risposta in qualsiasi contesto del flusso:
context.setVariable('message.header.FOO-1', 'the header value');
Puoi riutilizzare questo stesso criterio nel normale flusso di ProxyResponse, che verrà eseguito correttamente perché
message
è disponibile in tutti i contesti.