Dengan proyek baru-baru ini. Tim pengembang berbasis Net kami telah ditugaskan untuk mengintegrasikan dengan seluruh layanan web berbasis java di seluruh dunia, dan kami benar-benar telah secara mengejutkan (yah, kami tentu tidak terkejut lagi) sejumlah besar masalah karena XML yang dihasilkan oleh WCF tidak diterima oleh layanan java.
Tampaknya juga tidak ada informasi yang benar-benar bagus untuk ditemukan tentang masalah ini, kami mendapatkan beberapa tips bagus dari blog WCF Yaron Nave yang sangat baik, http://webservices20.blogspot.com , dan juga di forum MSDN WCF http: //social.msdn.microsoft.com/Forums/en-US/wcf/threads .
Adakah orang di sini yang benar-benar merasa bahwa mereka memahami hal ini, dan mengetahui sumber daya definitif pada subjek? Akan tertarik dengan tips tentang buku, blog, atau situs web apa pun.
Sunting:
Saya bingung dalam menetapkan jawaban yang diterima di utas ini, karena masing-masing dari dua jawaban terbaik memiliki beberapa nilai:
1. Kami mungkin akan berakhir dengan melakukan lebih banyak implementasi HTTP Webrequest alih-alih melawan WCF.
2. Tetapi WCF Express Interop Bindings 1.0 juga merupakan tip yang sangat masuk akal.
Jawaban:
Ah ya ... SABUN, grail suci komputasi yang dibanggakan. Lingua franca yang menjanjikan interop antara sistem di seluruh dunia.
Dan kemudian Anda masuk ke perbedaan antara implementasi SOAP di Java dan PHP dan .NET. Atau bahkan antara layanan SOAP WebSphere dan klien SOAP Apache. Tidak apa-apa berurusan dengan standar kompatibilitas WS-I yang berbeda. Sekarang tolong beri tahu saya mengapa Anda memerlukan standar kompatibilitas untuk protokol yang dibangun untuk kompatibilitas , berbicara tentang ironis (dan maksud saya ironi nyata, bukan merek ironi Alanis Morrissette ).
Satu-satunya saat Anda tidak akan mengalami masalah dalam mendapatkan dua titik akhir komunikasi SOAP adalah ketika keduanya berada pada platform yang sama dan dalam kebanyakan kasus platform tersebut akan memiliki protokol operasi jarak jauh yang lebih efisien.
Apa yang saya katakan di sini adalah bahwa untuk sebagian besar, sabun tidak berguna. Sekarang sabun kecil, saya menggunakannya setiap hari dan saya bersyukur bahwa kebanyakan orang melakukan hal yang sama.
Yang sedang berkata, jika Anda bersikeras memukul kepala Anda ke dinding bata. Berikut ini adalah tempat yang baik untuk memulai. Microsoft memiliki serangkaian binding untuk mengaktifkan interop dengan sebagian besar server Java utama. Bagian yang menyenangkan tentu saja mencari tahu mana yang berfungsi dengan layanan mana yang Anda integrasikan.
sumber
Menurut pendapat saya, pengamatan Anda cukup akurat. Implementasi tingkat tinggi komunikasi berbasis XML biasanya tidak kompatibel dengan platform yang berbeda, bahkan jika mereka sedang berdua disebut "SOAP". Perbedaan yang halus dalam implementasi, mungkin keduanya dalam lingkup standar yang diterapkan, menciptakan masalah dalam penggunaan kehidupan nyata.
Rekomendasi saya untuk penyedia layanan: Gunakan implementasi sederhana daripada implementasi yang sangat kompleks dan secara teoritis lebih baik. Misalnya, jangan sertakan skema otentikasi yang sangat rumit jika Anda tidak membutuhkannya.
Rekomendasi saya untuk konsumen layanan (Anda, saya kira): Ketika berkomunikasi dengan implementasi tingkat tinggi pada platform yang berbeda dari platform Anda, turunkan ke implementasi tingkat yang lebih rendah. Tiba-tiba menjadi sangat sederhana jika Anda hanya mencari tahu apa XML sebenarnya untuk mengirim dan kemudian menggunakan praktik pengkodean yang baik untuk melakukannya, sebagai alternatif untuk bersikeras menggunakan implementasi tingkat tinggi dari platform Anda sendiri.
Semoga itu tidak terlalu abstrak. Singkatnya , ketika Anda berada di platform .NET yang terhubung ke platform Java, Anda mungkin ingin merakit header dan xml dalam HttpWebRequest dan mengirimkannya dengan cara itu.
sumber
Anda akan memiliki masalah yang sama dengan menggunakan layanan web PHP juga.
Satu-satunya jawaban kami adalah mengubah tipe protokol menjadi REST daripada SOAP. Kami tidak pernah memiliki barang-barang SOAP untuk dioperasikan, begitu banyak untuk Simple!
sumber