तो मैं वेब सेवाओं के लिए थोड़ा नया हूं और हाल ही में एक स्थिति आई है जहां हमने डेटा-प्रकार में एक तत्व जोड़ा जो ग्राहक को वापस लौटा दिया जाता है। ग्राहकों ने शिकायत की कि इसने अपने कार्यान्वयन को तोड़ दिया क्योंकि यह उस नए तत्व पर पड़ा जिसकी अपेक्षा नहीं थी। (हम एक्सिस 2 के माध्यम से सेवाएं प्रदान कर रहे हैं)।पिछड़ा संगतता और वेब सेवाएं
मेरे लिए यह एक हानिकारक परिवर्तन की तरह लगता है कि ग्राहक को गहन तरीके से संभालने में सक्षम होना चाहिए (मैंने कुछ गैर-वेब-सेवा ढांचे के साथ काम किया है जहां वैकल्पिक जानकारी को पूरी तरह स्वीकार्य था)। मैं समझ सकता हूं कि क्या हमने कुछ फ़ील्ड हटा दिए हैं या उनका नाम बदल दिया है जो क्लाइंट के लिए समस्याएं पैदा करेंगे।
मूल रूप से मैं wsdl को एक इंटरफ़ेस की तरह कार्य करने की अपेक्षा करता हूं। यदि हम एक ऐसा परिवर्तन करते हैं जो अनिवार्य रूप से उस इंटरफ़ेस को उपप्रकार करता है, तो मैं उम्मीद करता हूं कि क्लाइंट बाहरी तत्वों को खुशी से अनदेखा कर देगा। क्या यह सिर्फ वेब सेवाओं का एक छोटा सा आ रहा है, या क्या सेवाओं में निष्क्रिय परिवर्तन करने का एक सौहार्दपूर्ण तरीका है ताकि नए ग्राहक अतिरिक्त डेटा प्राप्त कर सकें जबकि पुराने ग्राहक अपने अवकाश पर अपडेट कर सकें?
मैं सुझाव दूंगा कि यह संभव है कि क्लाइंट इसे खराब कर रहा है और एसओएपी इंटरफेस का उपयोग नहीं कर रहा है और शायद कुछ भयानक मैनुअल पार्सिंग/नियमित अभिव्यक्ति फज द्वारा प्रतिक्रिया को पार्स कर रहा है (यह आश्चर्यजनक है कि कितने लोग ऐसा करते हैं)। मैं यह कहता हूं क्योंकि मैं नियमित रूप से यूनिक्स और विंडोज सिस्टम (वेब ऐप्स, सर्वर पक्ष और डेस्कटॉप क्लाइंट ऐप्स में) पर सी #, पीएचपी, पर्ल और जावास्क्रिप्ट में बिल्ड क्लाइंट और सर्वर एसओएपी इंटरफेस बनाते हैं और कभी भी इस समस्या में नहीं चलते हैं (वैकल्पिक फ़ील्ड जोड़ना अनुरोध या प्रतिक्रिया में कभी एक समस्या नहीं हुई है)। मैं उनसे पूछूंगा कि वे क्या एसएएपी क्लाइंट का उपयोग कर रहे हैं। :-) –