Saya baru saja menabrak tembok bata besar dengan Paypal. Saya telah membuat proyek C # biasa untuk membuat beberapa kelas pembungkus menggunakan WSDL mereka.
Jika Anda membuat proyek non-web, satu-satunya pilihan untuk menambahkan wsdl adalah Referensi Layanan Web. Dan ini membangun sekumpulan kelas proxy yang sama seperti Referensi Web tetapi tidak benar-benar..itu menambahkan lebih banyak yang bahkan orang-orang PayPal tidak menyadarinya.
Jadi saya selama ini mencari Antarmuka yang tepat dalam daftar kelas proxy ini untuk digunakan sebagai layanan (SoapBinding) dan PayPalAPIAASoapBinding
tidak ada saya terus memberi tahu titik kontak PayPal kami.
Saya hanya bisa melihat 2 Antarmuka berikut yang menurut saya perlu digunakan karena saya tidak melihat PayPalAPIAASoapBinding
yang DAPAT Anda lihat di referensi layanan berbasis Referensi Web:
PayPalAPIAAInterfaceClient
PayPalAPIInterfaceClient
Jadi saya menemukan oh, saya mungkin telah membuat Referensi Layanan vs. Referensi Web yang Referensi Web adalah pilihan dalam proyek Web. Tetapi saya tidak ingin referensi layanan saya digabungkan erat dengan proyek web saya. Jadi itulah mengapa saya membuat Proyek C #.
Jadi apa sih itu Referensi Layanan vs. Referensi Web? Dan bagaimana saya bisa memisahkan ini menjadi proyek lain jika Referensi Layanan akan melempar saya loop dan memberi saya satu set antarmuka yang berbeda dari Referensi Web?
Juga, untuk membuat hal-hal LEBIH membingungkan, VS 2008 memiliki proyek Aplikasi Layanan Web.
Jadi apa yang saya gunakan? Kami menggunakan kerangka kerja .NET 3.5 dan kami belum siap untuk pindah ke WCF . Jadi, apakah saya masih dapat menggunakan Referensi Layanan baru meskipun tidak menggunakan WCF atau apa? JIKA Anda menggunakan .NET 3.5 dan belum WCF dan masih ingin menggunakan layanan web dasar, apakah Anda masih menggunakan rute Referensi Layanan dan tidak menggunakan kerangka kerja WCF? Artinya, bisakah itu digunakan seperti Referensi Web .NET 2.0, hanya saja Anda akan mendapatkan generasi WSDL yang sama sekali berbeda?
Jawaban:
Tambahkan Referensi Web adalah teknologi ASP.NET webservices (ASMX) gaya lama dan usang (hanya menggunakan XmlSerializer untuk barang Anda) - jika Anda melakukan ini, Anda mendapatkan klien ASMX untuk layanan web ASMX. Anda dapat melakukan ini di hampir semua proyek (Aplikasi Web, Situs Web, Aplikasi Konsol, Winforms - sebut saja).
Tambahkan Referensi Layanan adalah cara baru untuk melakukannya, menambahkan referensi layanan WCF, yang memberi Anda model layanan yang jauh lebih canggih dan jauh lebih fleksibel daripada sekadar barang ASMX lama biasa.
Karena Anda belum siap untuk pindah ke WCF, Anda juga masih dapat menambahkan referensi web gaya lama, jika Anda benar-benar harus: ketika Anda melakukan "Tambahkan Referensi Layanan", pada dialog yang muncul, klik [Advanced ] di pojok kiri tombol:
dan pada dialog berikutnya yang muncul, pilih tombol [Tambah Referensi Web] di bagian bawah.
sumber
Jika saya mengerti pertanyaan Anda dengan benar:
Untuk menambahkan Referensi Layanan Web .net 2.0 sebagai ganti Referensi Layanan WCF, klik kanan pada proyek Anda dan klik 'Tambahkan Referensi Layanan.'
Kemudian klik "Advanced .." di kiri bawah dialog.
Kemudian klik "Tambahkan Referensi Web .." di kiri bawah dialog berikutnya.
Sekarang Anda dapat menambahkan referensi web SOAP biasa seperti yang Anda cari.
sumber
Menambahkan referensi layanan memungkinkan Anda membuat klien WCF, yang dapat digunakan untuk berbicara dengan layanan web biasa asalkan Anda menggunakan penjilidan yang sesuai. Menambahkan referensi web akan memungkinkan Anda membuat hanya referensi layanan web (yaitu, SOAP).
Jika Anda benar-benar yakin Anda tidak siap untuk WCF (benar-benar tidak tahu mengapa) maka Anda harus membuat referensi layanan web biasa.
sumber
Pada akhirnya keduanya melakukan hal yang sama. Ada beberapa perbedaan dalam kode: Layanan Web tidak menambahkan ruang nama Root proyek, tetapi Referensi Layanan menambahkan kelas layanan ke ruang nama proyek. The
ServiceSoapClient
kelas mendapat penamaan yang berbeda, yang tidak penting. Dalam bekerja dengan TFS, saya lebih suka menggunakan Referensi Layanan karena bekerja lebih baik dengan kontrol sumber. Keduanya bekerja dengan protokol SOAP.Saya merasa lebih baik menggunakan Referensi Layanan karena ini baru dan karenanya akan lebih terpelihara.
sumber