2012-01-24 8 views
5

के साथ डब्ल्यूएसडीएल रनटाइम सत्यापन हम एक एमडीए मंच विकसित कर रहे हैं जिसमें वेब सेवाओं के लिए समर्थन है। उपयोगकर्ता रनटाइम में डब्लूएसडीएल प्रदान कर सकता है और हम आंतरिक रूप से जेएक्स-डब्ल्यूएस का उपयोग करके सभी कलाकृतियों (सर्वर इंटरफ़ेस और सर्वर के लिए कार्यान्वयन और क्लाइंट के लिए उपभोक्ता) उत्पन्न करते हैं।जेएक्स-डब्ल्यूएस

हम उपयोगकर्ता द्वारा प्रदान किए गए डब्ल्यूएसडीएल दस्तावेज़ पर सत्यापन जोड़ना चाहते हैं। अभी उपयोगकर्ता को ऑक्सीजन, एक्सएमएलएसपी या वेब उपकरण जैसे बाहरी उपकरण के साथ इसे सत्यापित करना है, लेकिन हम इसे अपने सिस्टम के एक हिस्से के रूप में जोड़ना चाहते हैं। डब्ल्यूएसडीएल के एम्बेडेड स्कीमा सहित, एक अच्छी सुविधा के साथ स्कीमा सत्यापन भी होगा।

जेएक्स-डब्ल्यूएस (आरआई) में रनटाइम में स्कीमा सत्यापन के लिए समर्थन है (@SchemaValidation एनोटेशन का उपयोग करके) लेकिन हमें डब्लूएसडीएल सत्यापन के लिए कोई समर्थन नहीं मिला है।

हमने Eclipse's WSDL validator को एकीकृत करने का प्रयास किया है, लेकिन यह हमारे लिए काम नहीं करता है।

क्या JAX-WS के साथ ऐसा करने का कोई तरीका है? यदि नहीं, तो क्या कोई अन्य सत्यापन ढांचा है जिसे हम एकीकृत कर सकते हैं?

धन्यवाद

उत्तर

2

वहाँ अपने प्रश्न में भ्रम का एक सा है कि मैं पहली बार स्पष्ट करने की आवश्यकता है।

आप WSDL (वाक्यविन्यास + डब्लूएस-आई) और एक्सएसडी को मान्य करने की क्षमता चाहते हैं, या तो डब्लूएसडीएल द्वारा बाहरी रूप से एम्बेडेड या संदर्भित किया गया है। दूसरी तरफ आप @ स्केमावालिडेशन लाते हैं, जिसका उपयोग वास्तव में उदाहरण दस्तावेजों को प्रमाणित करने के लिए किया जाता है।

पारंपरिक विकास दृष्टिकोण में, कोई कह सकता है कि आप कम से कम डिज़ाइन-टाइम कलाकृतियों (डब्लूएसडीएल + एक्सएसडी) को सत्यापित करने की क्षमता चाहते हैं।

इस परिदृश्य के लिए तो, मैं सिफारिश करेंगे निम्नलिखित:

डबल्यूएसडीएल: WS-I अनुपालन परीक्षण के लिए, कृपया test tools section of the WS-I site पर एक नज़र डालें। यह स्पष्ट नहीं है कि उनके परीक्षण टूलिंग के साथ उनके पास लाइसेंसिंग आपके साथ कैसे काम करेगी, लेकिन कम से कम आपको यह देखना चाहिए कि यह देखने के लिए कि क्या यह आपके लिए काम नहीं करता है।

अद्यतन: अतिरिक्त डब्ल्यूएसडीएल सत्यापन संसाधन: - Eclipse आधारित, बाहरी ग्रहण का उपयोग कैसे करें।

एक्सएसडी: यदि आपको वास्तव में एक्सएसडी फाइलों के लिए अलग सत्यापन की आवश्यकता है, तो उत्पादन गुणवत्ता वाले उत्पाद के लिए चीजें मुश्किल हो सकती हैं; WSDL4J यहां बहुत मदद नहीं है, और मेरा मानना ​​है कि XSOM इस तरह की नौकरी के लिए जाने का तरीका है। आपको एक से अधिक एक्सएसडी फाइलों के रूप में प्रकार अनुभाग से सामग्री निकालना है (एक से अधिक एक्सएसडी फ़ाइल हो सकती है, कुछ उदाहरणों पर नज़र डालें, माइक्रोसॉफ्ट के शेयरपॉइंट डब्लूएसडीएल एक अच्छे परीक्षण मामले के रूप में मेरे दिमाग में आते हैं), एक बेस यूरी असाइन करें प्रत्येक निकाले गए एक्सएसडी जो डब्लूएसडीएल स्थान से मेल खाते हैं, फिर उनको सत्यापित करने के लिए एक्सएसओएम का उपयोग करें।

चूंकि आप क्लाइंट उत्पन्न कर रहे हैं, इसलिए आप HTTP हेडर (SOAP 1.1/HTTP, SOAPAction, यदि यह डब्लूएसडीएल ऑपरेशन परिभाषा से मेल खाता है) के सत्यापन के बारे में अधिक संभावना नहीं है। यदि आप उसमें भी रूचि विकसित करना चाहते हैं, जिसे मैं रनटाइम सत्यापन कहता हूं, तो मैं आपके दृष्टिकोण में एक अलग लेआउट की सिफारिश करता हूं (यानी मैं @ स्केमा वैलिडेशन पर भरोसा नहीं करता बल्कि इसे पारदर्शी, और सामान्य, प्रॉक्सी सेवा के माध्यम से करता हूं)।

+0

मैंने उदाहरण और स्कीमा/wsdl सत्यापन के बीच भ्रम से बचने के लिए @SchemaValidation का उल्लेख किया है। जैसा कि आपने कहा था, डिजाइन-टाइम कलाकृतियों के सत्यापन के बारे में मैं पूछ रहा था। डब्ल्यूएस-आई साइट के बारे में, मुझे टूल पर एक नज़र थी और यह काम कर सकता है लेकिन मुझे लाइसेंसिंग के बारे में निश्चित नहीं है। एक्सएसडी के बारे में, हम पहले से ही उन्हें डब्लूएसडीएल से अलग कर रहे हैं और हम कई एम्बेडेड स्कीमा का समर्थन करते हैं। मैं एक्सएसओएम के साथ उन लोगों को प्रमाणित करने की जांच करूंगा। और आपके आखिरी बिंदु के बारे में, हम सर्वर भी उत्पन्न करते हैं, और उन शीर्षकों को मान्य करना दिलचस्प हो सकता है। आपके उत्तर के लिए धन्यवाद! – Denian

+1

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

+0

हां, आप सही हैं: http://netzooid.com/blog/2006/11/26/is-ws-i-open-look-at-their-test-license/ मुझे लगता है कि हमें खोजना होगा अन्य समाधान या ढांचे। एक्सएसडी को सत्यापित करने के बारे में, मैंने XSOMParser के साथ एक त्रुटि हैडलर बनाने की कोशिश की है और यह ठीक काम करता है। मुझे लगता है कि मुझे इस प्रश्न को खोला जाना चाहिए क्योंकि मुख्य चिंता डब्लूएसडीएल सत्यापन थी, लेकिन फिर भी आपके प्रतिक्रियाओं के लिए बहुत बहुत धन्यवाद। – Denian

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