Stai visualizzando la documentazione di Apigee e Apigee hybrid.
    Visualizza la documentazione di 
    Apigee Edge.
  
ExecutionError
Codice di errore
steps.javacallout.ExecutionError
Corpo della risposta di errore
{
  "fault": {
    "faultstring": "Execution returned an error result",
    "detail": {
      "errorcode": "flow.execution.ExecutionReturnedFailure"
    }
  }
}
Causa
Questo errore si verifica se il codice Java genera un'eccezione o restituisce null durante l'esecuzione di una norma JavaCallout.
Diagnosi
- Avvia una sessione di tracciamento per acquisire l'errore e identificare il criterio JavaCallout che ha avuto esito negativo.  
- Esamina il JavaCallout policy e la risorsa utilizzata. Nell'esempio riportato sopra, la norma JavaCallout utilizza una risorsa denominata - hello.jar, come mostrato di seguito:- <JavaCallout name="hello-java"> <ClassName>com.apigeesample.HelloJava</ClassName> <ResourceURL>java://hello.jar</ResourceURL> </JavaCallout>
- Acquisisci e memorizza l'eccezione Java in una variabile di flusso modificando il codice sorgente, come descritto in Gestione degli errori nei criteri JavaCallout. 
- Compila e sostituisci la risorsa interessata (file JAR) con l'elemento Java aggiornato. 
- Esegui il deployment del proxy API come nuova revisione ed esegui la chiamata API. 
- Avvia un'altra sessione di traccia.  
- Tieni presente che nella variabile - JAVA_STACKTRACEè disponibile una analisi dello stack. La analisi dello stack elenca l'eccezione effettiva, il file di origine Java e il numero di riga in cui viene generato l'errore.
- Utilizza queste informazioni per risolvere il problema nel codice Java. 
- In questo esempio, il criterio JavaCallout non è riuscito a causa di un'eccezione ArithmeticException (divisione per zero) nella riga 25 del file - JavaError.java.
Risoluzione
- A seconda dell'eccezione generata, correggi il problema nei file di origine Java pertinenti. a. Nell'esempio riportato sopra, il problema è stato causato da un errore aritmetico (divisione per zero). Vai al file di origine e al numero di riga specifici indicati dalla analisi dello stack.  - b. Poiché non puoi eseguire la divisione per zero, rimuovi il blocco else completo contenente la riga di codice errata per risolvere il problema. 
- Sostituisci il file JAR pertinente contenente i file modificati a livello appropriato (proxy API, ambiente o organizzazione), dove esisteva in precedenza. 
- Salva ed esegui il deployment del proxy API come nuova revisione.