Saya perlu menggunakan Layanan Web. Mereka mengirimi saya file WSDL. Apa yang harus saya lakukan untuk menambahkannya ke situs web saya dan mulai menggunakannya sebagai proxy. (Jika saya meletakkannya di Direktori Virtual, itu dapat ditemukan, tetapi apakah itu memberi saya koneksi dengan layanan web yang sebenarnya?)
c#
web-services
wsdl
jmayor
sumber
sumber
Jawaban:
Saya akan menjalankan Visual Studio, membuat proyek web (atau aplikasi konsol - tidak masalah).
Untuk .Net Standard:
Jika tidak ada kesalahan, Anda cukup mengatur NameSpace yang ingin Anda gunakan untuk mengakses layanan dan itu akan dibuatkan untuk Anda.
Untuk .Net Core
Salah satu metode di atas akan menghasilkan klien WCF yang sederhana dan sangat mendasar untuk Anda gunakan. Anda harus menemukan kelas "YourservicenameClient" dalam kode yang dihasilkan.
Untuk tujuan referensi, file cs yang dihasilkan dapat ditemukan di Obj / debug (atau rilis) / XsdGeneratedCode Anda dan Anda masih dapat menemukan dll di folder TempPE.
Layanan yang dibuat harus memiliki metode untuk masing-masing metode yang ditentukan pada kontrak WSDL.
Instantiate klien dan panggil metode yang ingin Anda panggil - hanya itu yang ada!
Jika Anda perlu menentukan URL jarak jauh (tidak menggunakan yang dibuat secara default), Anda dapat dengan mudah melakukan ini di konstruktor klien proxy:
di mana
configName
nama titik akhir yang akan digunakan (Anda akan menggunakan semua pengaturan kecuali URL), danremoteURL
adalah string yang mewakili URL yang akan disambungkan (bukan yang ada dalam konfigurasi).sumber
Di studio visual.
Jika tidak ada kesalahan, Anda harus bisa melihat referensi layanan di browser objek dan semua metode terkait.
sumber
Gunakan utilitas WSDL.EXE untuk menghasilkan proxy Layanan Web dari WSDL.
Anda akan mendapatkan file sumber C # panjang yang berisi kelas yang terlihat seperti ini:
Di sisi klien Anda, kode yang memakan layanan Web:
sumber
Jika Anda ingin menambahkan referensi wsdl di proyek .Net Core , tidak ada opsi "Tambahkan referensi web".
Untuk menambahkan referensi wsdl pergi ke Solution Explorer, klik kanan pada item proyek Referensi dan kemudian klik pada opsi Add Connected Service .
Kemudian klik 'Referensi Layanan Web Microsoft WCF':
Masukkan jalur file ke dalam kotak teks URI dan impor WSDL:
Ini akan menghasilkan klien WCF yang sederhana dan sangat mendasar dan Anda dapat menggunakannya seperti ini:
sumber