आप डब्लूएसडीएल की एक प्रति प्राप्त कर सकते हैं, मैन्युअल रूप से अवांछित कलाकृतियों को हटाने के लिए इसे संपादित कर सकते हैं, और इसे किसी ज्ञात स्थान पर संग्रहीत कर सकते हैं। एक बार जब आप कि अवांछित कलाकृतियों को हटा अपने डबल्यूएसडीएल का संस्करण है, आप उस स्थान पर रीडायरेक्ट कर सकते हैं wsdl क्वेरी:
<behaviors>
<serviceBehaviors>
<behavior name="TestServiceBehavior">
<serviceMetadata httpGetEnabled="True" externalMetadataLocation="http://localhost/TestService.wsdl"/>
</behavior>
</serviceBehaviors>
</behaviors>
इस समाधान के बारे में कुछ चेतावनियां। आपको संपादित करने के बारे में सावधान रहना होगा। यदि आप अनुबंध के महत्वपूर्ण पहलुओं को बदलते हैं, तो डब्ल्यूसीएफ इससे उत्पन्न ग्राहकों से संदेशों को संभालने में सक्षम नहीं हो सकता है। एंडपॉइंट को हटाने का आमतौर पर एक बड़ा सौदा नहीं होता है, हालांकि बाइंडिंग, ऑपरेशंस, संदेश प्रकार इत्यादि के लिए नाम बदलना समस्याएं पैदा कर सकता है।
आपको आयात के बारे में भी जागरूक होने की आवश्यकता है। डब्ल्यूसीएफ द्वारा उत्पन्न डब्लूएसडीएल आमतौर पर एंडपॉइंट्स को परिभाषित करता है, फिर एक और .wsdl आयात करता है जो वास्तविक सेवा अनुबंध को परिभाषित करता है। टर्न में सेवा अनुबंध wsdl आमतौर पर कई .xsd फ़ाइलों को आयात करता है जो आपके संदेश और डेटा प्रकार को परिभाषित करते हैं। आपको यह सुनिश्चित करने की आवश्यकता होगी कि आपके पास इन अपलोड किए गए रिश्तेदारों की प्रतियां रूट .wsdl पर प्रतियां हैं, और आप आयात तत्वों को उचित रूप से संदर्भित करने के लिए अद्यतन करते हैं।
इसके साथ एक और मुद्दा यह है कि अब आप अपने अनुबंध को मैन्युअल रूप से नियंत्रित कर रहे हैं ... जिसका अर्थ है कि यदि आप इसे बदलते हैं, तो आपको इसे फिर से संपादित करना होगा और जिस साइट पर आप .wsdl फ़ाइल होस्ट कर रहे हैं उसे प्रतिस्थापित करना होगा। अब, एक उचित ढंग से डिज़ाइन किया गया अनुबंध कभी भी नहीं बदला जाना चाहिए, क्योंकि यह वेब सेवाओं के बारे में मौलिक एसओए नियमों में से एक को तोड़ देता है। हालांकि, ऐसा लगता है कि आप कोड-प्रथम विकास कर रहे हैं, इसलिए इसके बारे में कुछ पता होना चाहिए।
मैनुअल समाधान काम करेंगे, लेकिन जैसा कि आप बाहर बिंदु, यह आदर्श से दूर है: नीचे एक Endpoint व्यवहार सभी बाकी अंतिम बिंदुओं को संलग्न के प्रासंगिक हिस्सा है। बेहतर या बदतर के लिए, यह सेवा समय-समय पर नई विधियों के साथ विकसित हो जाएगी, इसलिए अनुबंध बदल जाएगा। मैं एक और अधिक स्वचालित समाधान की तलाश में हूं, इसलिए मुझे हर सेवा वृद्धि पर डब्लूएसडीएल के साथ मिलना याद रखना नहीं है। – WayneC
कोई कारण नहीं है कि आप प्रक्रिया को स्वचालित नहीं कर सके। यह सभी एक्सएमएल है, और यह कुछ प्रक्रिया लिखने के लिए काफी आसान होना चाहिए, शायद एक पावरहेल स्क्रिप्ट भी, जो आपकी तैनाती प्रक्रिया के हिस्से के रूप में चलती है। यह सामान्य से सभी फ़ाइलों को खींच सकता है? Wsdl क्वेरी, आवश्यक तत्व को खोजने और निकालने के लिए XPath का उपयोग करें, और सभी .wsdl और .xsd फ़ाइलों को तैनात करें। अंत में, यह आपके बाध्यकारी व्यवहार में तत्व जोड़ने के लिए स्वचालित रूप से कॉन्फ़िगरेशन अपडेट कर सकता है। –
jrista