Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
ExecutionError
Hata Kodu
steps.javacallout.ExecutionError
Hata yanıtı gövdesi
{
"fault": {
"faultstring": "Execution returned an error result",
"detail": {
"errorcode": "flow.execution.ExecutionReturnedFailure"
}
}
}
Neden
Bu hata, bir JavaCallout politikası yürütülürken Java kodu bir istisna oluşturursa veya null değerini döndürürse oluşur.
Teşhis
Hatayı yakalamak ve hangi JavaCallout politikasının başarısız olduğunu belirlemek için izleme oturumu başlatın.

JavaCallout politikası ve kullanılan kaynağı inceleyin. Yukarıdaki örnekte, JavaCallout politikası, aşağıda gösterildiği gibi
hello.jaradlı bir kaynak kullanır:<JavaCallout name="hello-java"> <ClassName>com.apigeesample.HelloJava</ClassName> <ResourceURL>java://hello.jar</ResourceURL> </JavaCallout>Kaynak kodu Handling errors in a Java Callout (Java Callout'ta hataları işleme) bölümünde açıklandığı şekilde değiştirerek Java istisnasını bir akış değişkeninde yakalayıp saklayın.
Etkilenen kaynağı (JAR dosyası) derleyin ve güncellenmiş Java yapısıyla değiştirin.
API proxy'sini yeni bir düzeltme olarak dağıtın ve API çağrısını yapın.
Başka bir izleme oturumu başlatın.

JAVA_STACKTRACEdeğişkeninde yığın izlemenin (stack trace) bulunduğunu unutmayın. Yığın izleme, gerçek istisnayı ve hatanın oluşturulduğu Java kaynak dosyasını ve satır numarasını listeler.Java kodundaki sorunu düzeltmek için bu bilgileri kullanın.
Bu örnekte, JavaCallout politikası,
JavaError.javadosyasında 25. satırda ArithmeticException (sıfıra bölme) nedeniyle başarısız oldu.
Çözünürlük
Oluşan istisnaya bağlı olarak, sorunu ilgili Java kaynak dosyalarında düzeltin. a. Yukarıdaki örnekte sorun, aritmetik bir hatadan (sıfıra bölme) kaynaklanmıştır. Yığın izi tarafından belirtilen belirli kaynak dosyaya ve satır numarasına gidin.

b. Sıfıra bölme işlemi yapılamadığından sorunu çözmek için hatalı kod satırını içeren else bloğunun tamamını kaldırın.
Değiştirilen dosyaları içeren ilgili JAR dosyasını, daha önce bulunduğu uygun düzeyde (API proxy'si, ortam veya kuruluş) değiştirin.
API proxy'sini yeni bir düzeltme olarak kaydedin ve dağıtın.