क्या किसी को पता है कि बिना साबुन एक्सटेंशन के नेट में कच्चे साबुन प्रतिक्रिया को कैप्चर करना है

क्या किसी को साबुन एक्सटेंशन का उपयोग करने के अलावा सोप वेब सेवा को कॉल करने के लिए प्रॉक्सी क्लास का उपयोग करते समय कच्चे साबुन प्रतिक्रिया तक पहुंचने का कोई और तरीका पता है? SoapExtensions मेरे लिए अच्छा नहीं है क्योंकि मैं केवल विधि विशेषता कन्स्ट्रक्टर में निरंतर डेटा पास कर सकता हूं।

0

1 उत्तर

विधि ए - नकली साबुन हैडर (1) सोपहेडर से व्युत्पन्न एक अमूर्त वर्ग का निर्माण। (2) क्लाइंट को कक्षा से प्राप्त करने की अनुमति दें (1)। (3) अमूर्त वर्ग को [क्लाइंट | में एक सोपहेडर के रूप में लागू करें सर्विस] (4) साबुन एक्सटेंशन निम्नलिखित तरीके से साबुन संदेश पढ़ता है। ए) जब संदेश है [SoapClientMessage | सोपसेवर मैसेज] और पहले सेरियलाइज i) संदेश पढ़ें। हेडर और SoapHeaderCollection में अमूर्त प्रकार का पता लगाएं। ii) 'इस' हेडर के उदाहरण के रूप में SoapExtension में एक निजी सदस्य चर सेट करें। iii) serialization को रोकने के लिए SoapHeaderCollection से शीर्षलेख निकालें।

विधि बी - परिवर्तन विधि हस्ताक्षर (1) WebMethod के विधि हस्ताक्षर को बदलने के लिए [XmlIgnore] के साथ एन्कोड किए गए एक या अधिक पैरामीटर को शामिल करने के लिए बदलें ए) यदि क्लाइंट पर विधि है, तो [XmlIgnore] पैरामीटर 'IN' पैरामीटर हैं। बी) यदि विधि सर्वर पर है, तो [XmlIgnore] पैरामीटर 'आउट' पैरामीटर हैं। (2) विधि को बदलें। क्लाइंट पर इस नए जोड़े गए पैरामीटर को शामिल करने के लिए विधि के कार्यान्वयन कोड में शामिल करें। (3) साबुन एक्सटेंशन निम्नलिखित तरीके से साबुन संदेश पढ़ता है। ए) जब संदेश सोप क्लाइंट मैसेज और पहले सेरियलाइज किया जाता है i) [XmlIgnore] से जुड़े संदेश से InParameterValues ​​पुनर्प्राप्त करें और प्रत्येक [XmlIgnore] पैरामीटर के लिए SoapExtension में निजी सदस्य चर सेट करें। बी) जब संदेश सोपसेवर मैसेज और पहले सेरियलाइज किया जाता है i) [XmlIgnore] से जुड़े संदेश से OutParameterValues ​​को पुनर्प्राप्त करें और प्रत्येक [XmlIgnore] पैरामीटर के लिए SoapExtension में निजी सदस्य variales सेट करें।

0
जोड़ा