Topik ini menjelaskan kode hasil Mobile Gateway Service untuk membantu Anda melakukan troubleshooting terhadap masalah.
Kode hasil sisi gateway
Kode hasil 1000 menunjukkan panggilan API berhasil. Semua kode lainnya menunjukkan kesalahan.
Kode hasil dari 1001 hingga 5999 dan dalam rentang 7XXX menunjukkan kesalahan gateway.
Kode dalam rentang 7XXX menunjukkan kesalahan verifikasi signature atau dekripsi Security Guard. Untuk informasi selengkapnya, lihat Referensi kode hasil Security Guard.
Selain kode hasil, Anda dapat memeriksa bidang
Memodantipsdi header respons untuk informasi kesalahan lebih lanjut.Pengguna Apsara Stack juga dapat melihat informasi kesalahan detail di file
~/logs/gateway/gateway-error.logpada server gateway.
Jika terjadi pengecualian, lakukan troubleshooting menggunakan panduan troubleshooting pengecualian gateway. Untuk informasi selengkapnya, lihat Troubleshooting pengecualian gateway.
Kode hasil | Deskripsi | Penjelasan |
1000 | Berhasil | Panggilan API gateway diproses dengan sukses. |
1001 | Akses ditolak | Format mock salah, |
1002 | Batas panggilan API terlampaui | Pengecualian ini terjadi ketika batas laju permintaan terpicu setelah Anda mengaktifkan throttling. |
1005 | Tidak sah | Pengecualian ini terjadi ketika otorisasi API gagal setelah Anda mengaktifkan otorisasi API. |
2000 | Timeout login | Pengecualian ini dipicu dalam keadaan belum login ketika fitur otorisasi diaktifkan. |
3000 | Antarmuka RPC tidak ada atau ditutup | Di lingkungan yang sesuai dengan workspaceId saat ini, layanan API untuk operationType yang ditentukan belum dikonfigurasi untuk aplikasi mobile yang sesuai dengan appId, atau layanan API tersebut tidak berada dalam status Active. |
3001 | Data permintaan kosong | Bidang |
3002 | Format data salah | Format permintaan RPC salah. Pengguna Apsara Stack dapat melihat detailnya di file |
3003 | Dekripsi data gagal | Dekripsi data gagal. |
4001 | Waktu permintaan layanan habis | Mobile Gateway Service (MGS) mengalami timeout saat memanggil layanan sistem bisnis. Hal ini disebabkan oleh beban tinggi pada sistem bisnis backend. Periksa status operasional sistem backend. Jika pengaturan timeout tidak wajar, sesuaikan sesuai kebutuhan. Catatan: Timeout default adalah 3 detik. |
4002 | Pengecualian dalam pemanggilan remote ke sistem bisnis | Terjadi pengecualian saat MGS memanggil layanan sistem bisnis. Pengguna Apsara Stack dapat melihat detailnya di file |
4003 | Pengecualian HOST grup API | Terjadi |
5000 | Pengecualian tidak dikenal | Kesalahan kritis lainnya. Pengguna Apsara Stack dapat melihat detailnya di file |
7000 | Kunci publik belum diatur | Kunci yang sesuai dengan appId tidak ada di Security Guard untuk aplikasi mobile, atau gateway tidak dapat mendapatkan kunci signature untuk appId tersebut. |
7001 | Parameter tidak cukup untuk verifikasi tanda tangan | Verifikasi signature di sisi server oleh gateway gagal. |
7002 | Verifikasi tanda tangan gagal | Verifikasi signature di sisi server oleh gateway gagal. |
7003 | Verifikasi signature – ketepatan waktu gagal | Timestamp ts dalam parameter permintaan API telah kedaluwarsa berdasarkan periode validitas sistem. Periksa apakah waktu client tersinkronisasi dengan waktu sistem. |
7007 | Verifikasi signature – parameter ts tidak ada | Parameter ts untuk verifikasi signature tidak ada dalam permintaan API. |
7014 | Verifikasi signature – parameter sign tidak ada | Parameter sign untuk verifikasi signature tidak ada dalam permintaan API. Biasanya hal ini terjadi karena client gagal menandatangani data. Periksa apakah image Security Guard client sudah benar. |
8002 | Permintaan preflight cross-domain (CORS preflight) | Permintaan preflight cross-domain. |
Kode hasil sisi layanan
Anda dapat melihat informasi kesalahan untuk kode hasil berikut di server sistem bisnis.
Untuk menentukan detail pengecualian spesifik, periksa log ~/logs/mobileservice/monitor.log di setiap sistem bisnis.
Kode hasil | Protokol yang berlaku | Deskripsi | Penjelasan |
6000 | MPC, DUBBO | RPC - Layanan target tidak ditemukan | Layanan yang dipublikasikan tidak dapat ditemukan. Server tidak dapat diakses atau layanan telah dimigrasi. |
6001 | MPC, DUBBO | RPC - Metode target tidak ditemukan | Metode dalam layanan yang dipublikasikan tidak dapat ditemukan. |
6002 | MPC, DUBBO | RPC - Jumlah parameter salah | Jumlah parameter input tidak sesuai dengan jumlah parameter yang dideklarasikan. |
6003 | MPC, DUBBO | RPC - Metode target tidak dapat diakses | Metode target tidak dapat dipanggil. |
6004 | HTTP, MPC, DUBBO | RPC - Pengecualian penguraian JSON | HTTP: Terjadi pengecualian saat mengonversi parameter RPC menjadi parameter permintaan HTTP backend. MPC/DUBBO: Gagal mendeserialisasi data berformat JSON RPC menjadi objek parameter bisnis. |
6005 | MPC, DUBBO | RPC - Parameter tidak valid saat memanggil metode target | Parameter tidak valid untuk pemanggilan berbasis refleksi. |
6007 | MPC, DUBBO | RPC - Layanan autentikasi login tidak tersedia | Antarmuka autentikasi login dalam paket Service Provider Interface (SPI) belum diimplementasikan, atau antarmuka tersebut dikonfigurasi secara salah. |
6666 | HTTP, MPC, DUBBO | RPC - Pengecualian dilemparkan oleh bisnis | HTTP: Sistem backend mengembalikan kode status HTTP selain 200. MPC/DUBBO: Pengecualian dilemparkan oleh bisnis. RPC tidak dapat menanganinya dan menganggapnya sebagai pengecualian bisnis. |
Kode hasil client Android
Kode hasil | Deskripsi | Teks prompt |
0 | Kesalahan tidak dikenal | Kesalahan tidak dikenal. Silakan coba lagi nanti. |
1 | Client tidak dapat menemukan objek komunikasi karena transport belum diatur. | Kesalahan jaringan. Silakan coba lagi nanti. |
2 | Client tidak memiliki konektivitas jaringan, misalnya ketika pengguna mematikan jaringan atau menonaktifkan izin jaringan untuk aplikasi. | Tidak dapat terhubung ke jaringan. |
3 | Kesalahan terkait SSL, termasuk kesalahan handshake SSL dan kesalahan sertifikat SSL. | Sertifikat klien salah. Periksa apakah pengaturan waktu ponsel akurat. |
4 | Koneksi jaringan client mengalami timeout. Kesalahan ini terjadi ketika koneksi TCP melebihi periode timeout 10 detik. | Koneksi jaringan buruk. |
5 | Operasi baca/tulis data mengalami timeout. Kesalahan ini biasanya terjadi ketika kecepatan jaringan client terlalu lambat (skenario socketTimeout). | Koneksi jaringan buruk. |
6 | Client mengirim permintaan ke server tetapi tidak menerima respons (NoHttpResponseException). | Kesalahan jaringan. Silakan coba lagi nanti. |
7 | Terjadi kesalahan I/O jaringan client (IOException). | Kesalahan jaringan. Silakan coba lagi nanti. |
8 | Terjadi kesalahan penjadwalan permintaan jaringan client karena thread eksekusi terganggu. | Kesalahan jaringan. Silakan coba lagi nanti. |
9 | Kesalahan pemrosesan client, termasuk kesalahan serialisasi, kesalahan pemrosesan anotasi, dan kesalahan eksekusi thread. | Kesalahan jaringan. Silakan coba lagi nanti. |
10 | Terjadi kesalahan deserialisasi data client karena format data dari server salah. | Kesalahan jaringan. Silakan coba lagi nanti. |
13 | Kesalahan gangguan permintaan, misalnya ketika permintaan jaringan terganggu karena thread-nya terganggu. | Kesalahan jaringan. Silakan coba lagi nanti. |
15 | Terjadi kesalahan otorisasi jaringan client (HttpHostConnectException: "Connection to xxx refused"). Kesalahan ini menunjukkan bahwa tidak ada konektivitas jaringan atau server menolak koneksi. | Tidak dapat terhubung ke jaringan. |
16 | Kesalahan penguraian DNS | Tidak dapat terhubung ke jaringan. Silakan coba lagi nanti. |
18 | Pembatasan kecepatan jaringan. Kesalahan ini dipicu ketika traffic permintaan client melebihi ambang batas throttling sisi client. | Akses jaringan dibatasi. Silakan coba lagi nanti. |
code ≥ 400 dan code < 500 | Kode status HTTP dalam rentang 4xx. | Tidak dapat terhubung ke jaringan. |
400 > code ≥ 100 dan 500 < code < 600 | Kode status HTTP yang tidak berhasil dikembalikan. | Tidak dapat terhubung ke jaringan. Silakan coba lagi nanti. |
Kode kesalahan permintaan RPC iOS
Nilai | Kode status | Makna |
0 | kDTRpcNetworkError | Tidak dapat terhubung ke jaringan. Penting Semua kegagalan jaringan diklasifikasikan dalam kode ini. Kesalahan spesifik diteruskan melalui userinfo. Kunci untuk mendapatkan kesalahan yang sesuai dari kamus userinfo adalah kDTRpcErrorCauseError. |
1 | kDTRpcEmptyResponse | Data yang dikembalikan oleh server kosong. |
2 | kDTRpcInvalidJSONString | String JSON yang dikembalikan oleh server tidak dalam format yang benar dan tidak dapat dikonversi menjadi objek JSON. |
3 | kDTRpcDecodeObjectError | Kesalahan saat mendeserialisasi objek JSON. |
4 | kDTRpcNetworkCancelled | Permintaan jaringan dibatalkan. |
5 | kDTRpcEncodeObjectError | Kesalahan saat menserialisasi objek JSON. |
6 | kDTRpcProtocolBuffersDecodeError | Kesalahan saat mendeserialisasi objek Protocol Buffers (PB). |
9 | KDTRpcSizeControlError | Pengecualian dilemparkan langsung jika muatan RPC terlalu besar. Kesalahan ini didelegasikan ke pemanggil:
|
24 | KDTRpcAbandonError | Setelah RPC login dikembalikan selama pergantian akun, RPC tersebut dibuang dan pengecualian dilemparkan langsung. |
3003 | / | Kesalahan dekripsi. |