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.