Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
ExecutionError
Kode Error
steps.javacallout.ExecutionError
Isi respons error
{
"fault": {
"faultstring": "Execution returned an error result",
"detail": {
"errorcode": "flow.execution.ExecutionReturnedFailure"
}
}
}
Penyebab
Error ini terjadi jika kode Java menampilkan pengecualian atau menampilkan null selama menjalankan kebijakan JavaCallout.
Diagnosis
Mulai sesi rekaman aktivitas untuk menemukan error dan mengidentifikasi kebijakan JavaInfo yang gagal.
Periksa kebijakan JavaCallout dan resource yang digunakan. Pada contoh di atas, kebijakan JavaCallout menggunakan resource bernama
hello.jar
, seperti ditunjukkan di bawah ini:<JavaCallout name="hello-java"> <ClassName>com.apigeesample.HelloJava</ClassName> <ResourceURL>java://hello.jar</ResourceURL> </JavaCallout>
Ambil dan simpan pengecualian Java dalam variabel alur dengan mengubah kode sumber, seperti yang dijelaskan dalam Menangani error di Info Java.
Kompilasi dan ganti resource yang terpengaruh (file JAR) dengan artefak Java yang telah diupdate.
Deploy Proxy API sebagai revisi baru dan lakukan panggilan API.
Mulai sesi perekaman aktivitas lainnya.
Perhatikan bahwa pelacakan tumpukan tersedia di variabel
JAVA_STACKTRACE
. Pelacakan tumpukan mencantumkan pengecualian aktual serta file sumber Java dan nomor baris tempat error ditampilkan.Gunakan informasi ini untuk memperbaiki masalah dalam kode Java.
Dalam contoh ini, kebijakan JavaCallout gagal karena ArithmeticException (divisi dengan nol) dalam file
JavaError.java
di baris #25.
Resolusi
Bergantung pada pengecualian yang ditampilkan, perbaiki masalah di file sumber Java yang relevan. a. Pada contoh yang ditunjukkan di atas, masalah disebabkan oleh error aritmetika (pembagian dengan nol). Membuka file sumber dan nomor baris tertentu yang ditunjukkan oleh pelacakan tumpukan.
b. Karena Anda tidak dapat melakukan pembagian dengan nol, hapus blok else lengkap yang berisi baris kode yang salah untuk menyelesaikan masalah.
Ganti file JAR yang relevan yang berisi file yang telah diubah pada level yang sesuai (proxy API, lingkungan, atau organisasi API), jika sebelumnya file tersebut ada.
Simpan dan deploy proxy API sebagai revisi baru.