2014-10-13 3 views
38

का समर्थन करती हैं, मुझे साक्षात्कार में से एक पर इस प्रश्न का सामना करना पड़ा, तो क्या आप कृपया यह बता सकते हैं कि एसओएपी वेब सेवाएं केवल "पोस्ट" http विधि का समर्थन करती हैं या अन्य तरीकों को स्वीकार करने का कोई तरीका है सर्वर साइड?क्या एसओएपी वेब सेवाएं केवल "पोस्ट" http विधि

उत्तर

51

मैंने हमेशा पोस्ट का उपयोग किया लेकिन W3C standard के अनुसार, एसओएपी दोनों पोस्ट और जीईटी विधियों का समर्थन करता है।

संपादित करें: कुछ शोध के बाद, ऐसा लगता है कि यह पूरी तरह से सच नहीं है, क्योंकि आप here देख सकते हैं। यह सैद्धांतिक रूप से जीईटी का उपयोग करने के लिए संभव है क्योंकि पोस्ट और जीईटी HTTP ट्रांसपोर्ट प्रोटोकॉल के तरीके हैं और एसओएपी HTTP पर इस्तेमाल किया जा सकता है।

लेकिन जैसा कि आप जानते हैं, GET क्वेरी स्ट्रिंग में अनुरोध शामिल है। एसओएपी अनुरोध (एक्सएमएल संदेश) आमतौर पर क्वेरी स्ट्रिंग में शामिल होने के लिए बहुत ही जटिल और वर्बोज़ होते हैं, इसलिए लगभग हर कार्यान्वयन (उदाहरण के लिए जेएक्स-डब्ल्यूएस) केवल पोस्ट का समर्थन करता है।

+0

महान उत्तर! अनुसंधान के लिए बहुत बहुत धन्यवाद। – evgeniy44

8

थ्रेड तीन साल पुराना है, लेकिन मुझे लगता है कि अभी भी बहुत सारे लोग होंगे जो स्वयं को यही प्रश्न देंगे और वेब में गलत जवाब देंगे। प्रश्न का उत्तर नहीं है, जीईटी विधि भी इस्तेमाल किया जा सकता है।

सोप विनिर्देश, यहां पाया जा सकता है जो के अनुसार: https://www.w3.org/TR/2007/REC-soap12-part0-20070427/#transport दोनों प्राप्त और पोस्ट तरीकों http पर SOAP संदेशों का आदान प्रदान करने के लिए इस्तेमाल किया जा सकता है। HTTP अनुरोध के निकायों में SOAP संदेशों को संदेश देने के लिए HTTP POST विधि का उपयोग SOAP अनुरोध-प्रतिक्रिया संदेश विनिमय पैटर्न नामक पैटर्न का उपयोग करता है। HTTP GET के मामले में एक पैटर्न का उपयोग एसओएपी प्रतिक्रिया संदेश विनिमय पैटर्न कहा जाता है। इस दो पैटर्न के मुख्य अंतर यह है:

बातचीत का पहला प्रकार एक HTTP POST के शरीर के भीतर डेटा का उपयोग बना सकते हैं या एक संसाधन यूआरआई कि कौन सी HTTP करने से पहचान की स्थिति संशोधित करने के लिए अनुमति देता है अनुरोध नियत है। दूसरे प्रकार के इंटरैक्शन पैटर्न किसी भी तरह से अपने राज्य को बदलने के बिना किसी संसाधन का प्रतिनिधित्व प्राप्त करने के लिए HTTP GET अनुरोध का उपयोग करने की क्षमता प्रदान करता है। पहले मामले में, चिंता का एसओएपी-विशिष्ट पहलू यह है कि HTTP POST अनुरोध का शरीर एक एसओएपी संदेश है जिसे लागू करने के लिए आवश्यक अनुप्रयोग-विशिष्ट प्रसंस्करण के एक हिस्से के रूप में संसाधित किया जाना चाहिए (एसओएपी प्रोसेसिंग मॉडल के अनुसार) पोस्ट अर्थशास्त्र। दूसरे मामले में, सामान्य उपयोग जो कि फॉरसीन है, वह मामला है जहां अनुरोध किया जा रहा संसाधन का प्रतिनिधित्व HTML के रूप में नहीं, या वास्तव में एक सामान्य XML दस्तावेज़, लेकिन एक SOAP संदेश के रूप में वापस नहीं किया जाता है। यही है, प्रतिक्रिया संदेश का HTTP सामग्री प्रकार शीर्षलेख इसे मीडिया प्रकार "एप्लिकेशन/साबुन + xml"

दोनों के रूप में पहचानता है तो दोनों जीईटी और पोस्ट विधियों का उपयोग किया जा सकता है। दूसरा विचार यह है कि अभ्यास में ज्यादातर POST विधि का उपयोग किया जाता है।

बुरा विचार यह है कि एसओएपी सेवाओं के साथ रीस्टफुल सेवाओं की तुलना करते समय, आरईएसटी लोगों के लाभ के रूप में कैशिंग ला रहा है, जो एसओएपी में उपलब्ध नहीं है, क्योंकि एसओएपी केवल पोस्ट का उपयोग करता है। यह पूरी तरह गलत है।

संबंधित मुद्दे