2012-02-04 9 views
23

JSON REST से जुड़ा हुआ है। आरईएसटी के साथ आप एक्सएमएल का भी उपयोग कर सकते हैं। तो दूसरी तरफ क्यों नहीं? कुछ एंटरप्राइज़ परिदृश्यों में उपयोगी है जो ठेके पहलुओं के लिए wsdl रखते हुए JSON के साथ JSAP के साथ SOAP?JSON के साथ SOAP क्यों नहीं?

अद्यतन: टिप्पणी चटाई अंक में तो http://en.wikipedia.org/wiki/SOAPjr लिए लेकिन यह मेरे सवाल का जवाब नहीं है:

अगर यह 2 नस्लों क्यों लगभग सहित मुझे इसके बारे में कभी नहीं सुना कोई भी नहीं की सबसे अच्छा है? क्या ऐसा इसलिए है क्योंकि एसओएपी की तरह, लोगों ने तब तक एक परंपरा का पालन किया जब तक कि कुछ गुरु जागते और रोते नहीं: जी हम कम से कम किसी प्रकार के एंटरप्राइज़ ऐप्स के लिए गलत तरीके से कर रहे हैं?

+1

http://en.wikipedia.org/wiki/SOAPjr – Mat

+0

ठीक है धन्यवाद, मुझे नहीं पता था कि यह अस्तित्व में है लेकिन फिर भी यह मेरे प्रश्न का उत्तर नहीं देता है: क्योंकि यह दोनों को जोड़ता है क्यों किसी ने इसके बारे में नहीं सुना और उपयोग किया यह – user310291

उत्तर

37

एसओएपी के साथ पेलोड के रूप में JSON का उपयोग करना संभवतः संभव है।

मुख्य कारण यह नहीं है कि लोग ऐसा नहीं करते हैं तो मुझे लगता है कि यदि आप पहले ही एक्सएमएल के प्रतिबंधों से आगे बढ़ गए हैं तो एसओएपी को क्यों नहीं हटाया जाए। जावास्क्रिप्ट के भीतर जेएसओएन मूल और सरल AJAX कॉल का अर्थ है कि एसओएपी लोगों के लिए बहुत अधिक है

एसओएपी के साथ सख्त अनुबंध, और एक्सएसडी के साथ एक्सएमएल डेटा सत्यापन अक्सर भी जुड़ा हुआ है। एसओएपी मानक एक्सएमएल को पेलोड के रूप में निर्दिष्ट करते हैं, लेकिन आप जो भी सीडीएटीए टैग के भीतर चाहते हैं वह कर सकते हैं। लेकिन फ्रेमवर्क अनुमान के तहत हो सकता है कि आपका पेलोड एक्सएमएल है। और इस तरह पहुंच के दो अलग-अलग सिद्धांतों का उपयोग संभवतः संघर्ष करता है।

लेकिन यदि आप चाहें तो एसओएपी के साथ जेएसओएन का उपयोग करें।

+4

असली समस्या यह है कि कई प्रोग्रामर इन दिनों जेएसओएन को आरईएसटी के बराबर करते हैं। लोग जेएसओएन अनुरोधों पर जेएसओएन प्रतिक्रिया देने वाले एपीआई बना रहे हैं, और उन्हें आरईएसटी कहते हैं। आप मेटाडेटा चाहते हैं? सवाल ही नहीं। एसओएपी ऑर्केस्ट्रेशन या सुरक्षा चाहते हैं? सवाल ही नहीं। बस अपने JSON के रूप में और इसलिए अनुमान से (झूठा), आरईएसटी – Sentinel

24

मैट के साथ आप वही काम कर सकते हैं, जैसा मैट कहता है - और यह ठीक है।

लेकिन यह SOAP नहीं है - यह है SOAP।

SOAP परिभाषा द्वारा XML का उपयोग करता है।

एक सोप संदेश एक XML इन्फोसेट जिसका टिप्पणी, तत्व, विशेषता, नाम स्थान और चरित्र जानकारी आइटम के रूप में निर्दिष्ट किया जाता है XML 1.0 के रूप में धारावाहिक होने के लिए सक्षम हैं। (SOAP v1.2, part 1)

आप निश्चित रूप से JSON स्ट्रिंग सोप एक्सएमएल एम्बेड कर सकता भीतर, एक पैरामीटर का मान है, जो एक छोटे से सकल है के रूप में, लेकिन मैं एक सार्वभौमिक कारण नहीं देख सकते हैं क्यों नहीं दस्तावेज़ के लिए, स्टाइल SOAP।

REST निर्दिष्ट नहीं करता है कि प्रस्तुतियां (यानी सामग्री) क्या होनी चाहिए - यह प्रोटोकॉल मानक की बजाय architectural style है, इसलिए JSON, XML या जो भी संभव हो।