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:
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.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-18 UTC."],[[["\u003cp\u003eThis documentation addresses troubleshooting for \u003ccode\u003esteps.javacallout.ExecutionError\u003c/code\u003e in Apigee and Apigee hybrid environments, specifically related to JavaCallout policies.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eExecutionError\u003c/code\u003e occurs when Java code within a JavaCallout policy throws an exception or returns \u003cem\u003enull\u003c/em\u003e.\u003c/p\u003e\n"],["\u003cp\u003eDiagnosis involves using a trace session to identify the failing JavaCallout policy and examining the relevant JAR resource, along with capturing the Java exception in a flow variable named \u003ccode\u003eJAVA_STACKTRACE\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eResolution requires identifying the specific Java exception and its location (file and line number) from the stack trace, fixing the error in the source code, and updating the corresponding JAR file.\u003c/p\u003e\n"],["\u003cp\u003eThe example given in this document outlines an \u003ccode\u003eArithmeticException\u003c/code\u003e (division by zero), for which you can resolve by removing or correcting the lines of code that cause the error, updating the jar file and deploying a new revision.\u003c/p\u003e\n"]]],[],null,[]]