स्वीकार नहीं करेगा मेरे पास डेल्फी 2006 में एक सर्वर/क्लाइंट एप्लिकेशन विकसित हुआ है। क्लाइंट Win32 है और सर्वर एक .NET 1.1 webservice है।एएसएमएक्स के रूप में उजागर डब्ल्यूसीएफ सेवा पैरामीटर
हम इस परियोजना को अद्यतन करने की प्रक्रिया में हैं, लेकिन इसे छोटे चरणों में किया जाना है। मैंने सर्वर से शुरुआत की और वीएस 2010 (सी # नेट 4.0) में डब्ल्यूसीएफ प्रोजेक्ट बनाया। पहला कदम क्लाइंट को बदले बिना डब्ल्यूसीएफ में सर्वर चलाने के लिए है। तो मैंने मुखौटा पैटर्न का उपयोग किया, पुराने डेल्फी वेबसाइटों के लिए एक समान इंटरफ़ेस बनाया, पुराने .NET 1.1 डीएल के संदर्भ में जोड़ा गया और मेरे कार्यान्वयन में मैंने पुराना नेट 1.1 कोड कहा।
क्लाइंट पर प्रॉक्सी क्लास को अपडेट करने का अगला चरण। यह असफल रहा। डब्लूएसडीएल आयातक ने मूल एचटीपी बाइंडिंग को सही ढंग से नहीं समझा, इसलिए प्रॉक्सी क्लास जिसे जेनरेट किया गया था, मौजूदा प्रॉक्सी को प्रतिस्थापित नहीं कर सका।
कुछ शोध के बाद मुझे यह ब्लॉग पोस्ट मिला।
http://kjellsj.blogspot.com/2006/12/how-to-expose-wcf-service-also-as-asmx.html
यह काम किया, ASMX डबल्यूएसडीएल वर्ष .net 1.1 तो सब कुछ से अलग नहीं था ठीक appered।
लेकिन यह नहीं था। नई सेवा का परीक्षण करते समय मैंने पाया कि मेरे सभी पैरामीटर सर्वर पर खाली/शून्य थे। मैंने क्लाइंट पर फिडलर के साथ प्रयास किया और पैरामीटर एक्सएमएल में मौजूद है जो सर्वर को भेजा जाता है।
तो मैं अटक गया हूं। इसे हल करने के तरीके पर कोई विचार बहुत सराहना की जाएगी। क्या कोई ऐसा कोड है जो देखने के लिए हस्तक्षेप कर सकता है तो मुझे बताएं।
तो डबल्यूएसडीएल ही है, लेकिन सर्वर अब नेट 4.0 के बजाय 1.1 है KnownType विशेषता जोड़ें? यदि डेल्फी क्लाइंट पहले के समान डब्लूएसडीएल का उपयोग करता है, लेकिन सर्वर अब पैरामीटर नहीं देखता है, तो मैं नेट में क्लाइंट लिखूंगा और देख सकता हूं कि यह काम करता है या नहीं। यदि ऐसा होता है, तो नेट और डेल्फी के क्लाइंट के साबुन अनुरोधों की तुलना करें। – mjn
एक्सएमएल की तुलना करें। "नल पैरामीटर" आमतौर पर इसका मतलब है कि क्या भेजा जा रहा है और क्या अपेक्षित है के बीच एक नामस्थान अंतर है। –