मैंने दोनों दृष्टिकोणों का उपयोग किया है। मेरा सुझाव अनुबंध पहले स्कीमा का उपयोग करना है, लेकिन कोड पहले WSDL का उपयोग करना है।
डब्लूएसडीएल फ़ाइल लिखने में बाइंडिंग, बंदरगाहों और इस तरह की बहुत अजीब बारीकियां हैं। मैं इसे हाथ से बजाए उपकरण द्वारा किया था। वहाँ उपकरण मदद करने के लिए ऐसा करने के होते हैं, लेकिन उनमें से कोई भी बहुत कम है कि आप अपने तैनाती सत्यापित कर सकते हैं पर सरल से
@WebService
public ...
हैं।
स्कीमा के लिए, मैंने अनुबंध पहले का सुझाव दिया क्योंकि एक्सएमएल स्कीमा भाषा जावा में आप जो वर्णन कर सकते हैं उससे कहीं अधिक समृद्ध है। एक उदाहरण जो मैं आमतौर पर देता हूं वह दिखा रहा है कि एक्सएमएल स्कीमा स्ट्रिंग के आकार को प्रतिबंधित कर सकती है और एक नियमित अभिव्यक्ति पैटर्न लागू कर सकती है। ऐसा करना जावा और एनोटेशन में थोड़ा गड़बड़ दिखता है।
पहले अनुबंध के रूप में स्कीमा करने का एक अन्य लाभ आपकी स्कीमा फ़ाइल को HTML दस्तावेज़ में परिवर्तित करने के लिए टूल की उपस्थिति है।
एक्सजेसी उपकरण अपेक्षित वर्ग फ़ाइलों को उत्पन्न कर सकता है। हालांकि, मैं केवल शुरुआत में ऐसा करने की सिफारिश करता हूं।
अंत में आपको जेनरेट की गई डब्लूएसडीएल फ़ाइल लेनी चाहिए और इसके बजाय इसके साथ काम करना चाहिए। इस तरह आप wsimport का उपयोग कर सकते हैं और सत्यापित कर सकते हैं कि WSDL से स्कीमा तक की पूरी चीज़ मान्य है।
आप अपने @ वेब सेवा कार्यान्वयन में wsdlLocation विशेषता का उपयोग कर WSDL फ़ाइल के साथ तैनात कर सकते हैं और जब उपयोगकर्ता सर्वर से WSDL का अनुरोध करते हैं तो एप्लिकेशन सर्वर आपके लिए बाध्यकारी डेटा ठीक करेगा, लेकिन आप अभी भी अपनी टिप्पणियां बरकरार रखेंगे। अन्यथा आपकी टिप्पणियां अनुरोधित डब्लूएसडीएल फाइलों पर दिखाई नहीं देगी।
स्रोत
2010-10-01 18:25:50
के बाद से सवाल फायदे और प्रत्येक पक्ष के disadvantaages के बारे में पूछता है, मैं नहीं दिख रहा है कि यह व्यक्तिपरक है। –