Aplikasi saya perlu terhubung ke layanan web yang tidak memiliki definisi WSDL online. Namun pengembang memberi saya file WSDL.
Dengan WSDL Visual Studio publik dapat menghasilkan kode ini untuk saya menggunakan Wisaya Referensi Layanan. Tapi sepertinya tidak akan berhasil tanpa WSDL publik.
Bagaimana cara membuat kode untuk berbicara ke layanan web ini menggunakan file WSDL ini?
Menggunakan WSDL.exe tidak berhasil untuk saya (memberi saya kesalahan tentang jenis yang hilang), tetapi saya dapat mengklik kanan pada proyek saya di VS dan memilih "Tambahkan Referensi Layanan." Saya memasukkan path ke file wsdl di kolom Address dan tekan "Go." Itu sepertinya dapat menemukan semua jenis yang tepat dan menambahkan kelas langsung ke proyek saya.
sumber
Di samping catatan: jika Anda memiliki semua file secara lokal (tidak hanya file wsdl tetapi juga file xsd) Anda dapat menjalankan wsdl.exe dengan cara itu:
Dengan begitu wsdl.exe dapat menyelesaikan semua ketergantungan secara lokal dan menghasilkan kelas proxy dengan benar.
Mungkin ini akan menghemat waktu seseorang - ini memecahkan kesalahan "tipe yang hilang" ketika layanan tidak tersedia secara online.
sumber
Coba alat kelas WSDL Ke Proxy yang disertakan dengan .NET Framework SDK. Saya belum pernah menggunakannya sebelumnya, tetapi pasti terlihat seperti yang Anda butuhkan.
sumber
Ada Microsoft Doc untuk membuat file
WCF
proxy dari baris perintah.Anda dapat menemukan salinan lokal Anda
wsdl.exe
di lokasi yang mirip dengan ini:C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools
( Pelajari lebih lanjut di sini )Pada akhirnya Anda
Command
akan terlihat seperti ini:sumber
simpan file pada disk Anda dan kemudian gunakan yang berikut ini sebagai URL:
sumber
Karena URL Binding yang sebenarnya untuk layanan web terletak di file, Anda dapat melakukan langkah-langkah sederhana ini dari komputer lokal Anda:
1) Simpan file ke komputer lokal Anda misalnya:
2) Dalam Visual Studio Klik kanan pada proyek Anda> Pilih Tambahkan Referensi Web, dialog akan terbuka.
3) Di Kotak URL Salin lokasi file lokal di atas C: \ Documents and Settings [user] \ Desktop \ Webservice1.asmx, Klik Next
4) Sekarang Anda akan melihat fungsi muncul, pilih nama Anda untuk referensi, Klik tambahkan referensi
5) Selesai! Anda dapat mulai menggunakannya sebagai namespace di aplikasi Anda jangan khawatir Anda menggunakan file lokal, karena bagaimanapun URL yang benar untuk layanan ini terletak di file di bagian Binding
sumber