SOAP - Kesalahan
Jika terjadi kesalahan selama pemrosesan, respons ke pesan SOAP adalah elemen kesalahan SOAP dalam tubuh pesan, dan kesalahan dikembalikan ke pengirim pesan SOAP.
Mekanisme kesalahan SOAP mengembalikan informasi spesifik tentang kesalahan, termasuk kode yang telah ditentukan, deskripsi, dan alamat prosesor SOAP yang menghasilkan kesalahan.
Poin yang Perlu Diperhatikan
Pesan SOAP hanya dapat membawa satu blok kesalahan.
Kesalahan adalah bagian opsional dari pesan SOAP.
Untuk pengikatan HTTP, respons yang berhasil ditautkan ke rentang kode status 200 hingga 299.
SOAP Fault ditautkan ke rentang kode status 500 hingga 599.
Sub-elemen Fault
Kesalahan SOAP memiliki sub elemen berikut -
Sr Tidak | Sub-elemen & Deskripsi |
---|---|
1 | <faultCode> Ini adalah kode teks yang digunakan untuk menunjukkan kelas kesalahan. Lihat Tabel berikutnya untuk daftar kode kesalahan yang telah ditentukan sebelumnya. |
2 | <faultString> Ini adalah pesan teks yang menjelaskan kesalahan tersebut. |
3 | <faultActor> Ini adalah string teks yang menunjukkan siapa yang menyebabkan kesalahan. Berguna jika pesan SOAP berjalan melalui beberapa node di jalur pesan SOAP, dan klien perlu mengetahui node mana yang menyebabkan kesalahan. Node yang tidak bertindak sebagai tujuan akhir harus menyertakan elemen faultActor . |
4 | <detail> Ini adalah elemen yang digunakan untuk membawa pesan kesalahan khusus aplikasi. Elemen detail dapat berisi elemen anak yang disebut entri detail. |
Kode Kesalahan SOAP
Nilai-nilai faultcode didefinisikan di bawah harus digunakan dalam faultcode elemen sementara menggambarkan kesalahan.
Sr Tidak | Kesalahan & Deskripsi |
---|---|
1 | SOAP-ENV:VersionMismatch Menemukan namespace yang tidak valid untuk elemen SOAP Envelope. |
2 | SOAP-ENV:MustUnderstand Elemen turunan langsung dari elemen Header, dengan atribut mustUnderstand disetel ke "1", tidak dipahami. |
3 | SOAP-ENV:Client Format pesan salah atau berisi informasi yang salah. |
4 | SOAP-ENV:Server Ada masalah dengan server, jadi pesan tidak dapat dilanjutkan. |
Contoh Kesalahan SOAP
Kode berikut adalah contoh Kesalahan. Klien telah meminta metode bernama ValidateCreditCard , tetapi layanan tidak mendukung metode tersebut. Ini mewakili kesalahan permintaan klien, dan server mengembalikan respons SOAP berikut -
<?xml version = '1.0' encoding = 'UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV = "http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi = "http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd = "http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode xsi:type = "xsd:string">SOAP-ENV:Client</faultcode>
<faultstring xsi:type = "xsd:string">
Failed to locate method (ValidateCreditCard) in class (examplesCreditCard) at
/usr/local/ActivePerl-5.6/lib/site_perl/5.6.0/SOAP/Lite.pm line 1555.
</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>