एसओएपी और डब्लूएसडीएल बेहद जटिल मानक हैं, जिनमें कई कार्यान्वयन हैं जो मानकों के विभिन्न सबसेट का समर्थन करते हैं। SOAP एक साधारण विदेशी फ़ंक्शन इंटरफ़ेस के लिए बहुत अच्छी तरह से मानचित्र नहीं करता है, उसी तरह XML-RPC करता है। इसके बजाय, आपको सही एसओएपी संदेशों का उत्पादन करने के लिए एक्सएमएल नेमस्पेस, लिफाफे, हेडर, डब्लूएसडीएल, एक्सएमएल स्कीमा आदि के बारे में समझना होगा। एक्सएमएल-आरपीसी सेवा को कॉल करने के लिए आपको बस इतना करना है कि इसे परिभाषित और समापन करें और उस पर एक विधि कॉल करें। उदाहरण के लिए, रूबी में:
require 'xmlrpc/client'
server = XMLRPC::Client.new2("http://example.com/api")
result = server.call("add", 1, 2)
XML-RPC के अलावा, वहाँ इस तरह के सादे XML या HTTP पर JSON के रूप में अन्य तकनीकों है कि यह भी बहुत अधिक सरल और हल्के हो सकता है, कर रहे हैं (अक्सर, REST रूप में जाना जाता है, हालांकि यह है कि संकेत मिलता है कुछ अन्य डिजाइन विचार)। HTTP पर XML या JSON जैसे कुछ का लाभ यह है कि जावास्क्रिप्ट से उपयोग करना आसान है या यहां तक कि फ़ॉर्म सबमिट करने के साथ केवल एक गूंगा वेब पेज है। इसे curl जैसे टूल के साथ कमांड लाइन से आसानी से स्क्रिप्ट किया जा सकता है। यह किसी भी भाषा के साथ काम करता है क्योंकि HTTP पुस्तकालय, एक्सएमएल पुस्तकालय, और जेएसओएन पुस्तकालय लगभग हर जगह उपलब्ध हैं, और यहां तक कि यदि कोई JSON पार्सर उपलब्ध नहीं है, तो यह स्वयं लिखना बहुत आसान है।
संपादित करें: मैं स्पष्ट करना चाहिए कि मैं कैसे धारणात्मक हैवीवेट सोप है की चर्चा करते हुए कर रहा हूँ, के रूप में भारी वजन के लिए विरोध यह डेटा के कच्चे राशि के मामले में है।मुझे लगता है कि डेटा की कच्ची मात्रा कम महत्वपूर्ण है (हालांकि यदि आपको बहुत से छोटे अनुरोधों को संभालने की आवश्यकता है तो यह तेज़ी से बढ़ता है), जबकि यह अवधारणात्मक रूप से हेवीवेट कितना महत्वपूर्ण है, क्योंकि इसका मतलब है कि वहां बहुत अधिक जगहें हैं जहां कुछ गलत हो सकता है, जहां एक असंगतता हो सकती है, आदि
स्रोत
2009-03-24 04:29:35
"अगर आपको किसी भी तरह से इसे संभालने के लिए libSOAP की आवश्यकता होती है तो वायर पर तार की तरह दिखता है": यह एक बहुत अच्छी टिप्पणी है! एसओएपी वास्तव में ऐसा लगता है कि आप संभवतः अपना खुद का कार्यान्वयन लिखने का प्रयास नहीं कर सकते हैं, हालांकि आईपीसी संदेश प्रारूप को बहुत जटिल नहीं होना चाहिए। –