2009-06-03 11 views
22

मेरे पास पुरानी डब्लूएसडीएल फ़ाइल है और मैं सेवा के साथ संवाद करने के लिए डब्ल्यूसीएफ का उपयोग करना चाहता हूं।डब्लूसीएफ प्रॉक्सी बनाने के लिए डब्लूएसडीएल फ़ाइल का उपयोग कैसे करें?

डब्लूएसडीएल एएसएमएक्स से उत्पन्न होता है (मुझे लगता है लेकिन मुझे यकीन नहीं है)।

इसके साथ संवाद करने के लिए आवश्यक कदम क्या होंगे?

+1

इससे कोई फर्क नहीं पड़ता कि डब्लूएसडीएल ने किस चीज को उत्पन्न किया है। – Cheeso

उत्तर

21

उपयोग svcutil.exe एक WCF प्रॉक्सी सेवा को कॉल करने को बनाने के लिए। विवरण here

+1

ठीक है, मैं इसे जाने दूंगा! दृश्य स्टूडियो और विंडोज एसडीके में एक फ़ाइल wsdl.exe है। मैंने प्रॉक्सी क्लास उत्पन्न करने के लिए इसका इस्तेमाल किया, क्या यह svcutil.exe जैसा ही है? एक बार जब मैं प्रॉक्सी फ़ाइल उत्पन्न करता हूं, तो मुझे इस जेनरेट प्रॉक्सी का उपयोग कैसे करना चाहिए? – Raha

+5

वही नहीं। svcutil.exe एक ऐसा उपकरण है जो डब्ल्यूसीएफ के लिए प्रॉक्सी और स्टब्स (और अन्य चीजें) उत्पन्न करेगा। wsdl.exe एएसएमएक्स के लिए समान है। 2006 तक, डब्ल्यूसीएफ ने एएसएमएक्स को .NET में पसंदीदा वेब सेवा प्रोग्रामिंग ढांचे के रूप में बदल दिया है। तो, एएसएमएक्स पुराना है, डब्ल्यूसीएफ नया है। – Cheeso

25

अपनी परियोजना पर राइट-क्लिक करें, और "सेवा संदर्भ जोड़ें" चुनें। डब्लूएसडीएल को इंगित करें। ओके पर क्लिक करें"। यह सब होना चाहिए।

enter image description here

+3

मुझे "ब्राउज" बटन नहीं मिला - विजुअल स्टूडियो 2010 में wsdl फ़ाइल के पूर्ण पथ को कॉपी/पेस्ट करना था। –

+0

मैंने "ब्राउज" बटन का संदर्भ नहीं दिया। आपका क्या अर्थ है? –

+3

ओह, मेरा मतलब यह है कि मुझे उन ऐप्स पर उपयोग किया जाता है जिनके लिए आपको फ़ाइल नाम दर्ज करने की आवश्यकता होती है, जिसमें "ब्राउज़ करें" या "..." बटन भी होता है ताकि आप स्थान का चयन कर सकें। विजुअल स्टूडियो यूआई थोड़ा भ्रामक है कि यह आपको ऐसा करने नहीं देता है - आपको wsdl फ़ाइल के स्थान को मैन्युअल रूप से कॉपी/पेस्ट करना होगा। जितना सरल होगा, इसके बारे में मुझे पता है, यह निश्चित रूप से पहले भ्रमित था। –

8

wsdl.exe प्रॉक्सी बनाने का पुराना वेब सेवा (1.1) तरीका है। कोशिश करने वाली पहली बात "सेवा संदर्भ जोड़ें" है जैसा पहले से ही उल्लेख किया गया है। यह प्रॉक्सी बनाने के लिए svcutil.exe का उपयोग करता है। यदि आपको प्रॉक्सी बनाने के तरीके पर अधिक नियंत्रण की आवश्यकता है, तो आप विभिन्न स्विच के साथ कमांड लाइन से svcutil.exe का उपयोग कर सकते हैं।

इसके साथ ... मुझे पुरानी वेब सेवा wsdls के साथ परेशानी हुई है। विशेष रूप से, पुरानी अपाचे एक्सिस वेब सेवा अधिभारित संचालन वाली होती है। पूर्ण विवरण के लिए कृपया मेरी पोस्ट here देखें। (मेरी समस्या अभी भी हल नहीं हुई है। मुझे आशा है कि आपको एक ही समस्या का सामना नहीं करना पड़ेगा, लेकिन यदि आप करते हैं और उन्हें समझते हैं, तो कृपया मेरे प्रश्न का उत्तर दें। :)

+1

वेब सेवाओं में "ओवरलोडिंग" की कोई अवधारणा नहीं है। अपाचे को बेहतर जाना चाहिए था, और उम्मीद है कि उन्होंने अब तक सीखा है। वे मजेदार चीजों को भी इस्तेमाल करते थे जैसे एमिट स्कीमा जो कि संदर्भ प्रकार जैसे apachesoap: XmlElement और फिर इन प्रकारों को परिभाषित नहीं करते हैं। यदि आप सेवा का उपभोग करने के लिए अपाचे कोड का उपयोग कर रहे थे, तो शायद अच्छी तरह से काम किया, लेकिन अन्यथा नहीं। –

+0

टिप्पणी के लिए धन्यवाद, जॉन। जाहिर है, डब्ल्यूएसडीएल 1.1 ओवरलोड की अनुमति है? (http://webservices.xml.com/pub/a/ws/2003/01/08/randyray.html देखें) मैंने जो सेवा दी है, उसमें गलती प्रकारों का एक गुच्छा शामिल है जो svcutil समझ में नहीं आया। मेरे पास काम करने के लिए एक समय का एक बिल्ली था और केवल प्रॉक्सी कोड में महत्वपूर्ण संपादन करने के बाद। –

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

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