Saya akan menjalankan Visual Studio, membuat proyek web (atau aplikasi konsol - tidak masalah).
Untuk .Net Standard:
- Saya akan mengklik kanan pada proyek dan memilih "Tambahkan Referensi Layanan" dari menu Tambahkan konteks.
- Saya akan mengklik Advanced, lalu klik Add Service Reference.
- Saya akan mendapatkan jalur file lengkap dari wsdl dan menempelkannya ke bilah alamat. Kemudian tembak Panah (tombol pergi).
- Jika ada kesalahan saat mencoba memuat file, maka harus ada url yang rusak dan tidak terselesaikan yang perlu diselesaikan file seperti yang ditunjukkan di bawah ini:
Lihat jawaban ini untuk informasi tentang cara memperbaikinya:
Stackoverflow jawaban untuk: Tidak dapat membuat referensi layanan untuk file wsdl
Jika tidak ada kesalahan, Anda cukup mengatur NameSpace yang ingin Anda gunakan untuk mengakses layanan dan itu akan dibuatkan untuk Anda.
Untuk .Net Core
- Saya akan mengklik kanan pada proyek dan memilih Layanan Terhubung dari menu Tambahkan konteks.
- Saya akan memilih Penyedia Referensi Layanan Web Microsoft WCF dari daftar.
- Saya akan menekan telusuri dan memilih file wsdl langsung, Atur namespace dan saya siap melakukannya. Lihat url perbaikan kesalahan di atas jika Anda mengalami kesalahan.
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!
YourServiceClient client = new YourServiceClient();
client.SayHello("World!");
Jika Anda perlu menentukan URL jarak jauh (tidak menggunakan yang dibuat secara default), Anda dapat dengan mudah melakukan ini di konstruktor klien proxy:
YourServiceClient client = new YourServiceClient("configName", "remoteURL");
di mana configName
nama titik akhir yang akan digunakan (Anda akan menggunakan semua pengaturan kecuali URL), dan remoteURL
adalah string yang mewakili URL yang akan disambungkan (bukan yang ada dalam konfigurasi).