wsdl

2009-08-03 17 views
12

से वेब सेवा उत्पन्न यह शायद एक बहुत आसान सवाल है, लेकिन मैं एक जवाब नहीं पता लगाने सकता है:wsdl

एक ग्राहक मैं एक वेब सेवा होस्ट करना के लिए। क्लाइंट ने मुझे एक wsdl फ़ाइल भेजी है कि webservice को 'कार्यान्वित' करना चाहिए। मैं उसे करके देखूं तो? मैंने किसी भी संख्या में क्लाइंट-रॉक्सियां ​​उत्पन्न की हैं लेकिन यह दूसरी तरफ है। मैं एएसपी.नेट 2.0 वेब सर्विसेज या विंडोज कम्युनिकेशन फाउंडेशन दोनों का उपयोग कर सकता हूं।

+0

मौजूदा वर्गों के लिए डब्ल्यूएसडीएल उत्पन्न करता है = "नीचे-अप रणनीति" [बनाम] मौजूदा डब्लूएसडीएल = "टॉप-डाउन रणनीति" (विकिपीडिया) – JohnB

उत्तर

15

wsdl.exe /server

अनुबंधों के आधार पर एक XML वेब सेवा के लिए एक सार वर्ग उत्पन्न करता है। डिफ़ॉल्ट क्लाइंट प्रॉक्सी कक्षाएं उत्पन्न करना है। /पैरामीटर विकल्प का उपयोग करते समय, यह मान तत्व है जिसमें "सर्वर" होता है।

svcutil.exe thewsdl.wsdl/भाषा:

आप WCF- कुछ तरह के लिए svcutil.exe के साथ एक समान बात कर सकते हैं C# /out:ITheInterface.cs (मैं इस परीक्षण नहीं किया गया है) ।

संपादित करें- जॉन सॉंडर्स डब्ल्यूसीएफ दृष्टिकोण के पक्ष में उनके जवाब में एक अच्छा मुद्दा बनाते हैं- मैं भी इसकी अनुशंसा करता हूं।

+0

दिए गए क्लास कंकाल उत्पन्न करता है क्या यह वास्तव में इतना आसान है? मैंने wsdl.exe कई बार उपयोग किया है लेकिन/सर्वर स्विच के बारे में नहीं पता था। मैं परीक्षण और – edosoft

+1

हाँप की रिपोर्ट करूंगा। डब्ल्यूएसडीएल पहला विकास एक वैध दृष्टिकोण है- इस आलेख को देखें: http://blogs.msdn.com/dotnetinterop/archive/2008/09/24/wsdl-first-development-with-wcf.aspx – RichardOD

+0

यदि आप इसका परिणाम चाहते हैं सी # में यह उतना ही आसान है: svcutil.exe thefile.wsdl –

0

आप सर्वर इंटरफेस पैदा करते हैं और उन्हें

लागू करने के लिए माइक्रोसॉफ्ट से wsdl उपयोगिता का उपयोग कर सकते हैं यहाँ डबल्यूएसडीएल उपयोगिता का एक संक्षिप्त विवरण है।

wsdl.exe - उपयोगिता एक्सएमएल वेब सेवा ग्राहकों के लिए कोड और xml वेब सेवाओं डबल्यूएसडीएल अनुबंध फ़ाइलें, XSD स्कीमा से ASP.NET का उपयोग कर पैदा करते हैं और खोज दस्तावेजों .discomap करने के लिए। इस उपकरण का उपयोग disco.exe के साथ संयोजन में किया जा सकता है।

2

आप उस डब्लूएसडीएल (wissd'le) फ़ाइल के साथ बहुत कुछ कर सकते हैं।

मैन्युअल WS कक्षा कर wsdl.exe से स्वतः जेनरेट वर्ग का उपयोग करने से

आइए कल्पना अपने उदाहरण के लिए, आप है, इस WDSL (WebServiceX.Net से tooked)


से एक सी # ऑटो जेनरेट प्रॉक्सी बनाएं, आप अपने कमांड प्रॉम्प्ट पर जाएं और लिखें:

wsdl /language:cs /protocol:soap /out:C:\myProxyScripts http://www.webservicex.net/TranslateService.asmx?wsdl 

नोट: \ Program Files \ Microsoft SDKs \ Windows \ v6.1 \ बिन फ़ोल्डर आप wsdl मिलेगा: अपनी सी के अंदर।exe या बस अपने सी के अंदर एक dir/s कार्य करें: \ Program Files \

यदि आप चाहते विजुअल बेसिक, बस /भाषा का उपयोग करें: vb या /एल: vb

/भाषा: जेनरेट प्रॉक्सी क्लास के लिए उपयोग करने वाली भाषा। 'सीएस', 'वीबी', 'जेएस', 'वीजेएस', 'सीपीपी' से चुनें या सिस्टम को लागू करने के लिए एक पूर्ण-योग्य नाम प्रदान करें .CodeDom.Compiler.CodeDomProvider।

डिफ़ॉल्ट भाषा 'सीएस' (सीएसएचआरपी) है। लघु रूप '/ l:' है।

यह आदेश आपके सी: \ myProxyScripts ऑटो जेनरेट प्रॉक्सी के अंदर रखेगा।

यदि आपके अपने कंप्यूटर में WSDL फ़ाइल का उपयोग करते हुए, बस अपने पूरा पथ के लिए URL बदलने के लिए, उदाहरण के लिए

wsdl /language:cs /protocol:soap /out:C:\myProxyScripts C:\myProxyScripts\myWsdlFile.wsdl 

नोट: अपने जनरेट किया गया प्रॉक्सी बुलाया जाएगा सेवा का नाम, जिसे आपने निर्दिष्ट किया है, हमारे उदाहरण में:

<wsdl:service name="TranslateService"> 

मुझे आशा है कि यह आपकी मदद करेगा, डब्लूएसडीएल, ऑटो जेनरेटेड प्रॉक्सी को समझें और आप अपने ग्राहक की इच्छाओं को पूरा करने के लिए अपने अंत में सब कुछ प्रबंधित कर सकते हैं।

14

वास्तव में, आपको svcutil.exe के साथ ऐसा करना चाहिए, wsdl.exe के साथ नहीं। WSDL.EXE एएसएमएक्स वेब सेवा तकनीक का हिस्सा है जिसे माइक्रोसॉफ्ट अब "विरासत" कोड मानता है, जिसमें बग तय नहीं होंगे।

+1

सलाह दीजिये कि यह डब्लूसीएफ कोड उत्पन्न करता है, एएसएमएक्स नहीं :) – balexandre

+0

यह एक तरह का मुद्दा है। विचार कोड उत्पन्न करना होगा कि निर्माता "विरासत" पर विचार नहीं करता है, और जहां वे अभी भी इसे बढ़ाने और बग को ठीक करने की योजना बना रहे हैं। मेरे द्वारा –

+0

+1। मुझे अपने जवाब में इस बिंदु का उल्लेख करना चाहिए। – RichardOD

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

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