Bagikan melalui


Titik Akhir SOAP dan HTTP

Sampel SoapAndHttpEndpoints menunjukkan cara mengimplementasikan layanan berbasis RPC dan mengeksposnya dalam format SOAP dan format "Plain Old XML" (POX) menggunakan model Pemrograman Web WCF. Lihat sampel Layanan HTTP Dasar untuk detail selengkapnya tentang pengikatan HTTP untuk layanan. Sampel ini berfokus pada detail yang berkaitan dengan mengekspos layanan yang sama melalui SOAP dan HTTP menggunakan pengikatan yang berbeda.

Menunjukkan

Mengekspos layanan RPC melalui SOAP dan HTTP menggunakan WCF.

Diskusi

Sampel ini terdiri dari dua komponen: proyek Aplikasi Web (Layanan) yang berisi Layanan WCF dan aplikasi konsol (Klien) yang memanggil operasi layanan menggunakan pengikatan SOAP dan HTTP.

Layanan WCF mengekspos 2 operasi –GetData dan PutData – yang menggemakan string yang diteruskan sebagai input. Operasi layanan dianotasi dengan WebGetAttribute dan WebInvokeAttribute. Atribut berikut mengontrol proyeksi HTTP operasi ini. Selain itu, mereka dianotasikan dengan OperationContractAttribute, yang memungkinkannya diekspos melalui pengikatan SOAP. Metode PutData layanan menampilkan WebFaultException, yang akan dikirim kembali melalui HTTP menggunakan kode status HTTP dan dikirim kembali melalui SOAP sebagai kesalahan SOAP.

File Web.config mengonfigurasi Layanan WCF dengan 3 titik akhir:

  • Titik akhir ~/service.svc/mex yang mengekspos metadata layanan untuk diakses oleh klien berbasis SOAP.

  • Titik akhir ~/service.svc/http yang memungkinkan klien mengakses layanan menggunakan pengikatan HTTP.

  • Titik akhir ~/service.svc/soap yang memungkinkan klien mengakses layanan menggunakan SOAP melalui pengikatan HTTP.

Titik akhir HTTP dikonfigurasi dengan titik akhir standar <webHttp> yang memiliki helpEnabled yang ditetapkan ke true. Akibatnya, layanan mengekspos halaman bantuan berbasis XHTML di ~/service.svc/http/help yang dapat digunakan klien berbasis HTTP mengakses layanan.

Proyek klien menunjukkan pengaksesan layanan menggunakan proksi SOAP (dihasilkan melalui Tambahkan Referensi Layanan) dan pengaksesan layanan menggunakan WebClient.

Sampel terdiri dari layanan yang dihosting Web dan aplikasi konsol. Saat aplikasi konsol berjalan, klien membuat permintaan ke layanan dan menulis informasi yang berkaitan dari respons ke jendela konsol.

Untuk menjalankan sampel

  1. Buka solusi untuk Sampel Titik Akhir HTTP dan SOAP.

  2. Tekan Ctrl+Shift+B untuk membuat aplikasi.

  3. Jika belum terbuka, tekan CTRL+W, S untuk membuka jendela Penjelajah Solusi.

  4. Dari jendela Penjelajah Solusi, klik kanan proyek Layanan dan letakkan kursor pada opsi menu konteks Debug sehingga menu konteks Mulai Instans Baru akan muncul. Klik Mulai Instans Baru. Tindakan ini meluncurkan server pengembangan ASP.NET, yang menghosting layanan.

  5. Dari jendela Penjelajah Solusi, klik kanan proyek Klien dan letakkan kursor pada opsi menu konteks Debug sehingga menu konteks Mulai Instans Baru akan muncul. Klik Mulai Instans Baru.

  6. Jendela konsol klien muncul dan menyediakan URI layanan yang berjalan dan URL halaman bantuan HTML untuk layanan yang berjalan. Anda dapat melihat halaman bantuan HTML kapan saja dengan mengetik URI halaman bantuan di browser.

  7. Saat sampel berjalan, klien menulis status aktivitas saat ini.

  8. Tekan tombol apa pun untuk mengakhiri aplikasi konsol klien.

  9. Tekan SHIFT+F5 untuk menghentikan penelusuran kesalahan layanan.

  10. Di Area Notifikasi Windows, klik kanan ikon server pengembangan ASP.NET, lalu pilih Hentikan dari menu konteks.