Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fitur penanganan kesalahan memungkinkan perancang untuk mengatur penanganan otomatis kegagalan pesan sebagai alternatif perilaku tradisional (sekarang menjadi default) memasukkan pesan yang gagal ke dalam antrian Ditangguhkan. Penanganan otomatis ini merutekan pesan kesalahan ke tujuan perutean yang berlangganan apa pun, seperti port pengiriman atau orkestrasi. Pesan kesalahan adalah klon dari pesan asli dengan semua properti yang sebelumnya dipromosikan kini diturunkan, dan properti terpilih terkait kegagalan olahpesan tertentu dipromosikan ke dalam konteks pesan.
Peringatan
Pesan yang gagal berisi salinan pesan asli. Jika pesan asli berisi informasi sensitif, rancanglah proses penanganan kesalahan, baik manual maupun otomatis, agar dapat menghindari pengungkapan yang tidak disengaja.
Apa yang dimaksud dengan perutean pesan yang gagal?
Ketika perutean pesan yang mengalami kegagalan diaktifkan, BizTalk Server tidak menangguhkan pesan—BizTalk Server merutekan pesan sebagai gantinya. Perutean pesan yang gagal dapat diaktifkan pada port terima dan kirim, dengan hasil berikut:
Jika perutean pesan yang gagal diaktifkan pada port terima dan pesan gagal di alur penerima atau dalam perutean, pesan yang gagal dihasilkan. Dalam kasus di mana terjadi kesalahan dalam atau sebelum fase pembongkaran, pesan kesalahan adalah salinan dari pertukaran asli.
Jika perutean pesan yang gagal diaktifkan pada port kirim dan pesan gagal dalam alur pengiriman, pesan yang gagal dihasilkan.
Ketika pesan yang gagal dihasilkan, BizTalk Server mempromosikan properti konteks pesan terkait laporan kesalahan dan menurunkan properti konteks pesan reguler sebelum menerbitkan pesan yang gagal. Bandingkan dengan perilaku bawaan ketika perutean pesan gagal tidak diaktifkan: Pesan yang gagal akan ditangguhkan.
Jenis Kegagalan Olahpesan Apa yang Memicu Pesan Kesalahan?
Setiap kegagalan yang terjadi dalam pemrosesan adaptor, pemrosesan alur, pemetaan, atau perutean pesan akan menghasilkan pesan kesalahan apabila perutean untuk pesan yang gagal diaktifkan. Ketika terjadi kesalahan pengolahan pesan saat orkestrasi menerima dari port penerima atau mengirim ke port pengiriman, pesan kesalahan yang dihasilkan akan dikaitkan dengan port pengolahan pesan tempat orkestrasi terikat.
Berlangganan Pesan Kesalahan
Pesan kesalahan dikirimkan ke orkestrasi atau port pengiriman yang telah berlangganan untuk menerimanya. Langganan biasanya memilih pesan kesalahan berdasarkan nama port tempat kesalahan olahpesan terjadi (baik port kirim atau terima). Langganan mungkin juga memfilter properti lainnya yang digunakan dalam konteks pesan kesalahan (misalnya, InboundTransportLocation atau FailureCode).
Spesifikasi Pesan Kesalahan
Pesan kesalahan adalah kloning pesan asli yang gagal, dengan semua properti yang dipromosikan sebelumnya diturunkan dan dengan serangkaian properti khusus kesalahan yang dipromosikan ke konteks pesan. Properti yang sebelumnya dipromosikan diturunkan statusnya untuk menghindari pengiriman yang tidak diinginkan kepada pelanggan yang tidak seharusnya menerima pesan kesalahan. Pesan kesalahan diterbitkan untuk distribusi kepada pelanggan (orkestrasi, mengirim port, dan mengirim grup port).
Properti-properti yang dipromosikan ke konteks pesan kesalahan semuanya berada di bawah namespace ErrorReport di BizTalk Server. Mereka adalah sebagai berikut:
| Nama properti | Jenis data | Dipromosikan | Deskripsi |
|---|---|---|---|
| KodeKegagalan | xs:string | Ya | Kode kesalahan. Nilai heksadesimal yang dilaporkan di konsol Administrasi BizTalk Server. |
| Kategori Kegagalan | xs:int | Ya | Properti ini tidak digunakan. Nilainya tidak ditentukan. |
| Deskripsi | xs:string | Tidak. | Deskripsi kesalahan. Teks diagnostik yang sama seperti yang ditulis ke Log Peristiwa Aplikasi mengenai kegagalan pengiriman pesan ini. |
| JenisPesan | xs:string | Ya | Jenis pesan pesan gagal, atau kosong jika jenis pesan tidak ditentukan. BizTalk Server menggunakan jenis pesan untuk mengaitkan pesan dengan skema XML mereka. Jenis pesan dibentuk dengan menggabungkan namespace skema dan simpul akar skema: http://mynamespace#rootnode. Nota: Pesan yang gagal sebelum jenis pesannya ditentukan tidak memiliki set properti ini. |
| NamaPortPenerimaan | xs:string |
Dipromosikan jika kegagalan terjadi selama pemrosesan masuk (dalam port penerima) Tidak dipromosikan jika kegagalan terjadi dalam port pengiriman. |
Nama port penerima tempat kegagalan terjadi. |
| InboundTransportLocation | xs:string |
Dipromosikan jika kegagalan terjadi selama pemrosesan masuk (dalam port penerima) Tidak dipromosikan jika kegagalan terjadi dalam port pengiriman. |
URI lokasi penerimaan tempat kegagalan terjadi. |
| SendPortName | xs:string |
Ditingkatkan apabila kegagalan terjadi selama pemrosesan keluar (dalam port pengiriman) Tidak dipromosikan jika kegagalan terjadi di port penerima. |
Nama port pengiriman tempat kegagalan terjadi. |
| OutboundTransportLocation | xs:string |
Dipromosikan jika kegagalan terjadi selama pemrosesan keluar (dalam port kirim) Tidak dipromosikan jika kegagalan terjadi di port penerima. |
URI lokasi pengiriman tempat kegagalan terjadi. |
| Jenis Kesalahan | xs:string | Ya | Menunjukkan jenis pesan yang berisi kesalahan. Properti ini selalu berisi nilai FailedMessage, yang berarti bahwa kesalahan berisi pesan asli yang gagal. |
| IDLaporanKegagalanRute | xs:string | Ya | Properti ini menyediakan ID laporan kegagalan perutean yang dihasilkan BizTalk Server ketika ada kegagalan perutean. Laporan kegagalan perutean adalah pesan khusus yang dihasilkan dan ditangguhkan oleh BizTalk Server. Pesan ini tidak memiliki isi, tetapi memiliki konteks pesan yang gagal. Dengan menggunakan ID ini, orkestrasi penanganan kesalahan atau port kirim dapat melakukan kueri terhadap database MessageBox dan memproses laporan kegagalan perutean. Misalnya, orkestrasi mungkin ingin mengakhiri laporan kegagalan perutean setelah mendapatkan pesan yang gagal. |
| Waktu Kegagalan | xs:dateTime | Waktu tanggal terjadinya kegagalan | |
| IDPesanKesalahan | xs:string | ||
| FailureInstanceID | xs:string | ||
| AdaptorKegagalan | xs:string |
Menangani Pesan Kesalahan
Penanganan kesalahan ditentukan oleh langganan orkestrasi atau send-port yang filternya cocok dengan properti yang telah dipromosikan ke konteks pesan dari pesan kesalahan.
Implikasi Keamanan
Identitas yang terkait dengan pesan asli—baik identitas awal atau identitas akhir yang ditentukan oleh tahap Resolve Party dari alur penerima—ditetapkan ke pesan kesalahan.
Mekanisme keamanan yang membatasi pengiriman pesan ke port dan orkestrasi berlangganan resmi juga berlaku untuk pesan kesalahan.
Port kirim yang berlangganan pesan kesalahan, tetapi tidak dikonfigurasi dengan sertifikat dekripsi yang sesuai, tidak menerima pesan kesalahan yang disebabkan oleh kegagalan olahpesan pada atau sebelum tahap dekripsi alur penerimaan di mana pesan asli memasuki BizTalk Server. Sebaliknya, pesan yang gagal ditempatkan dalam antrean Ditangguhkan.
Kegagalan Pesan Adaptor
Jika adaptor menangguhkan pesan, pesan kesalahan akan diterbitkan. Tidak ada pesan kesalahan yang dihasilkan jika pesan tidak ditangguhkan.
Pipa Penerimaan Transaksional
Jika alur penerima transaksi yang diterima melempar pengecualian (menentukan bahwa transaksi harus dibatalkan), maka transaksi dibatalkan dan pesan kesalahan diterbitkan.
Jika pipeline penerimaan transaksional secara eksplisit menangguhkan pesan (menentukan bahwa MessageDestination = SuspendQueue), maka transaksi saat ini diizinkan untuk melanjutkan (dan dapat di-commit kecuali tahap berikutnya menentukan untuk membatalkannya) dan pesan kesalahan yang dihasilkan diterbitkan.
Solicit-Response Port Pengiriman
Ketika pesan permintaan dikirim dari orkestrasi dan gagal dalam pengiriman atau responsnya gagal dalam pemrosesan masuk, orkestrasi mendapatkan pengecualian, tanpa memandang apakah pesan yang gagal telah dirutekan.
Dalam kasus di mana port permintaan-tanggapan terhubung ke port penerima permintaan-tanggapan, port penerima mendapatkan pesan tanggapan (jika transmisi berhasil) atau NACK (jika transmisi gagal), terlepas dari apakah pesan yang gagal sudah dirutekan.
One-Way Port Pengiriman
Ketika sebuah pesan dikirim dari orkestrasi melalui port kirim yang sudah disiapkan untuk notifikasi pengiriman, maka orkestrasi tersebut akan menerima notifikasi pengiriman terlepas dari apakah pesan kesalahan telah dirutekan. Dengan kata lain, port pengiriman menghasilkan notifikasi pengiriman untuk sistem orkestrasi meskipun port mengalami kegagalan olahpesan selama pemrosesan. Pemberitahuan mengonfirmasi pengiriman ke pelabuhan, namun tidak membahas keberhasilan pemrosesan di pelabuhan.
Melanjutkan Pesan yang Ditangguhkan
Sebagian besar pesan yang gagal dalam pemrosesan masuk (yaitu, pemrosesan dari dan termasuk adaptor penerima hingga tetapi tidak termasuk publikasi ke kotak pesan), dan yang kegagalannya belum ditangani, ditangguhkan dengan status dapat dilanjutkan. Pengecualiannya adalah bahwa pesan permintaan dari port penerima dua arah dijeda dan tidak dapat dilanjutkan.
Pesan biasanya ditangguhkan dalam bentuk aslinya (seperti sebelum pemrosesan alur), dengan dua pengecualian:
Pesan ditangguhkan oleh komponen jalur pipa. BizTalk Server menangguhkan jenis pesan ini dalam bentuk yang sama seperti yang diberikan kepada komponen pipeline yang tergagal. Ketika pesan dilanjutkan, pesan mengalami pemrosesan alur dari awal alur yang sama. Ini menyiratkan bahwa komponen alur dalam tahap alur yang mendahului tahap di mana kegagalan asli terjadi harus disiapkan untuk menangani pesan "sama" dalam bentuk yang berbeda dari bentuk asli di mana ia memproses pesan tersebut.
Pesan dari pembongkaran pertukaran yang dapat dipulihkan, yang selanjutnya gagal dalam proses perutean. BizTalk Server menangguhkan jenis pesan ini dalam bentuk yang sama seperti yang diterbitkan. Ini adalah bentuk pesan setelah eksekusi jalur pemrosesan. Ketika pesan dilanjutkan, pesan melewatkan pemrosesan alur dan diterbitkan langsung ke database MessageBox.
Skenario Yang Mengarah ke Pesan Yang Ditangguhkan (Tidak Dapat Dilanjutkan)
Meskipun lebih umum bagi pesan untuk ditangguhkan dengan status dapat dilanjutkan, ada beberapa skenario yang menyebabkan pesan menjadi tidak dapat dilanjutkan:
Dalam port pengiriman berurutan dengan opsi lanjutkan saat gagal diaktifkan, jika terjadi kegagalan dalam pipa saluran, pemetaan, atau transmisi.
Dalam port terima Pengiriman Terurut, jika adaptor dikonfigurasi untuk menangguhkan pesan ketika terjadi kegagalan yang tidak dapat dilanjutkan. Misalnya, jika pengaturan adaptor MSMQ "On Failure" diatur ke "Tangguhkan (tidak dapat dilanjutkan)" atau adaptor MQSeries mengaktifkan "Tangguhkan sebagai Tidak Dapat Dilanjutkan", pesan yang gagal akan ditangguhkan sebagai tidak dapat dilanjutkan.
Dalam port penerima dua arah, jika pesan respons mengalami kegagalan dalam alur pemrosesan, pemetaan, atau transmisi.
Dalam port penerimaan dua arah, jika pesan penerima gagal dalam alur, pemetaan, atau transmisi. Perilaku adaptor individu mungkin berbeda. Misalnya, adaptor HTTP tidak menangguhkan pesan secara default tetapi dapat dikonfigurasi untuk melakukannya.
Lihat Juga
Penanganan Kesalahan
Menggunakan Ucapan Terima Kasih
Pengiriman Pesan yang Dipesan