Apa itu SOAP Fault?

SOAP fault adalah pesan kesalahan yang muncul dalam komunikasi SOAP (Simple Object Access Protocol). Kesalahan ini bisa terjadi karena format pesan yang salah, masalah pada pemrosesan header, ketidakcocokan antar aplikasi, atau error lainnya.

SOAP sendiri adalah protokol komunikasi yang memudahkan pertukaran data antar komputer yang tersebar dalam suatu jaringan, meskipun mereka berjalan di platform dan OS yang berbeda. SOAP punya struktur yang rapi dan terdefinisi dengan jelas, dan sering dipakai untuk mendukung API.

SOAP bisa dikirim lewat beberapa protokol standar, seperti HTTP, SMTP, dan TCP.

Secara teknis, pesan SOAP berbentuk dokumen XML dengan elemen utama <Envelope>. Elemen ini wajib punya <Body>, dan bisa juga berisi <Header> (opsional).

Kalau terjadi SOAP fault, maka akan dihasilkan pesan khusus berisi info tentang asal dan penyebab error. Info ini diletakkan dalam elemen <Fault>, yang berada di dalam elemen <Body>. Perlu dicatat, <Body> hanya boleh punya satu elemen <Fault> dan tidak boleh ada elemen lain bersamaan di dalamnya.

Pesan SOAP yang berisi elemen <Fault> disebut sebagai fault message. Berikut contoh struktur dasar dari pesan SOAP fault dalam format kode XML:

<env:Envelope xmlns:env=http://www.w3.org/2003/05/soap-envelope> <env:Body> <env:Fault> <Fault subelements> </env:Fault> </env:Body> </env:Envelope>

URL di tag <Envelope> menunjukkan namespace XML untuk SOAP 1.2. Tapi struktur umumnya masih sama antara SOAP 1.1 dan 1.2, dan keduanya masih digunakan sampai sekarang.

Elemen <Fault> punya beberapa subelemen yang menyimpan informasi spesifik soal error. Daftarnya tergantung versi SOAP yang dipakai.

Subelemen <Fault> pada SOAP 1.1:

  • <faultcode> – elemen wajib, berisi tipe kesalahan. SOAP punya beberapa kode standar, tapi juga bisa diperluas untuk aplikasi khusus.
  • <faultstring> – elemen wajib, berisi info yang bisa dibaca manusia tentang jenis kesalahan.
  • <faultactor> – opsional, berisi URI dari node SOAP yang menyebabkan kesalahan.
  • <detail> – opsional, berisi informasi error spesifik dari aplikasi. Tapi elemen ini wajib kalau konten <Body> tidak bisa diproses.

Subelemen <Fault> pada SOAP 1.2:

  • <Code> – elemen wajib untuk mendefinisikan tipe kesalahan. Fungsinya mirip <faultcode> tapi lebih fleksibel.
  • <Reason> – elemen wajib berisi penjelasan kesalahan dalam bentuk teks yang mudah dibaca. Fungsinya mirip <faultstring>.
  • <Node> – opsional, menyebutkan URI dari node SOAP yang memicu fault. Ini versi 1.2 dari <faultactor>.
  • <Role> – opsional, menunjukkan peran operasional dari node SOAP saat terjadi fault.
  • <Detail> – opsional, untuk menyimpan informasi kesalahan aplikasi. Ini setara dengan <detail> di SOAP 1.1.

Setiap node yang terlibat dalam komunikasi SOAP bisa menghasilkan pesan fault. Misalnya, sebuah client mengirim request ke web server yang bergantung pada layanan tertentu. Kalau layanan itu sedang down, maka server bisa mengirim SOAP fault ke client berisi detail kesalahannya.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *