XML-RPC और SOAP में क्या अंतर है?


81

मैं वास्तव में कभी नहीं समझ पा रहा हूं कि एक वेब सेवा कार्यान्वयनकर्ता दूसरे पर एक का चयन क्यों करेगा। क्या XML-RPC आमतौर पर पुराने सिस्टम में पाई जाती है? यह समझने में किसी भी मदद की बहुत सराहना की जाएगी।

जवाबों:


88

अंतर?

SOAP अधिक शक्तिशाली है, और सॉफ्टवेयर टूल विक्रेताओं (MSFT .NET, जावा एंटरप्राइज संस्करण, उस प्रकार की चीजों) द्वारा बहुत पसंद किया जाता है।

SOAP लंबे समय तक (2001-2007) SOA के लिए पसंद के प्रोटोकॉल के रूप में देखा गया था। xml-rpc इतना नहीं। REST नया SOA प्रिय है, हालांकि यह कोई प्रोटोकॉल नहीं है।

SOAP अधिक क्रिया है, लेकिन अधिक सक्षम है।

कुछ पुराने सामान में SOAP समर्थित नहीं है। उदाहरण के लिए, कोई एएसएपी क्लासिक एएसपी (जो मुझे मिल सकता है) के लिए काम करता है।

अजगर में SOAP का अच्छा समर्थन नहीं किया गया है। मानक पुस्तकालय में XML-RPC को अजगर में बहुत समर्थन है।

SOAP दस्तावेज़-स्तर हस्तांतरण का समर्थन करता है, जबकि xml-rpc मूल्यों के हस्तांतरण के बारे में अधिक है, हालांकि यह संरचनाओं जैसे सूचियों, सूचियों आदि को स्थानांतरित कर सकता है।

xm-rpc वास्तव में प्रोग्राम टू प्रोग्राम लैंग्वेज अज्ञेय ट्रांसफर है। यह मुख्य रूप से http / https पर जाता है। SOAP संदेश ईमेल पर भी जा सकते हैं।

xml-rpc अधिक यूनिक्स है। यह आपको चीजों को बस करने देता है, और जब आप जानते हैं कि आप क्या कर रहे हैं, तो टर्मिनल टेक्स्ट संपादकों का उपयोग करते हुए भी गुणवत्ता वेब सेवाओं को तैनात करना बहुत तेज़ है। SOAP करना इस तरह से एक चिड़ियाघर है; आपको वास्तव में इसे व्यवहार्य बनाने के लिए एक अच्छी IDE की आवश्यकता है।

हालाँकि, SOAP को जानना आपके रिज्यूमे / CV पर बहुत अच्छा लगेगा, अगर आप फॉर्च्यून 500 आईटी जॉब के लिए तैयार हैं।

xml-rpc में गैर-अस्की चरित्र सेट के साथ कुछ समस्याएँ हैं।

एक्सएमएल-आरपीसी नामांकित मापदंडों का समर्थन नहीं करता है। उन्हें सही क्रम में होना चाहिए। SOAP के बारे में निश्चित नहीं है, लेकिन ऐसा सोचें।


1
पायथन के साथ SOAP के लिए, ZSI पैकेज है। यह काफी अच्छा है, लेकिन आपको पूरी तरह से wsdl की जरूरत है।
इडोमोर

2
मेरा मानना ​​है कि पुराने एसओएपी टूलकिट को "क्लासिक एएसपी" के लिए समर्थन था। इस बिंदु से अधिक, कोई व्यक्ति COM संदर्भ बनाने के लिए आपकी पसंदीदा .NET भाषा का उपयोग कर सकता है जो सेवा संदर्भ को लपेटता है, जिससे क्लासिक ASP को एक आधुनिक वेब सेवा का उपभोग करने की अनुमति मिलती है।
जॉन सॉन्डर्स

1
@edomaur वास्तव में सूद एक बेहतर विकल्प है क्योंकि यह अधिक pythonic, अधिक सरल और pypi.python.org/pypi/suds
ccpizza

14

बस अन्य उत्तरों को जोड़ने के लिए, मैं आपको SOAP और XML-RPC कॉल के वास्तविक पाठात्मक निरूपण को देखने के लिए प्रोत्साहित करूंगा, शायद ईथर के साथ एक को कैप्चर करके। पूरे, "एक्सएमएल-आरपीसी सरल है" तर्क बहुत मायने नहीं रखता है जब तक आप यह नहीं देखते कि अविश्वसनीय रूप से एक एसओएपी कॉल कैसे है। वहाँ काफी लोकप्रिय वेब साइटों में से कई SOAP से दूर अपने एपीआई के रूप में शर्म की वजह से बैंडविड्थ की यह राशि का उपभोग करेगा अगर लोग इसे बड़े पैमाने पर उपयोग करना शुरू कर दिया।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.