2012-05-03 21 views
12

पर नवीनतम जेएक्स-डब्ल्यूएस स्थापित करना मैंने अपने जेडीके v1.6.0_31 (यानी jaxws-api.jar और jaxb की प्रतिलिपि बनाते हुए नवीनतम जेएक्स-डब्ल्यूएस रिलीज (2.2.6) को ठीक से स्थापित करने के लिए here निर्देशों का पालन किया जेएक्स-डब्ल्यूएस से -api.jar मेरे $ {JAVA_HOME}/lib/अनुमोदित निर्देशिका में रिलीज़)। ग्रहण के अंदर से मैं wsimport चींटी कार्य ठीक से चला सकते हैं और उत्पन्न कोड की टिप्पणियों में एक संस्करण टिकट दे रहा है:जेडीके 6

/** 
* This class was generated by the JAX-WS RI. 
* JAX-WS RI 2.2.6b21 
* Generated source version: 2.2 
* 
*/ 
समस्या मैं आ रही

जाता है कि उत्पन्न ग्राहक कोड त्रुटियों जो मुझे नेतृत्व दिखाया जा रहा है विश्वास है कि संकलक अभी भी JAX-WS संस्करण 2.1 उपयोग कर रहा है:

The constructor Service(URL, QName, WebServiceFeature[]) is undefined 

और

The attribute required is undefined for the annotation type XmlElementRef 

मैं स्पष्ट रूप से -Djava.endorsed.dir आर्ग की स्थापना की कोशिश की जब Eclip शुरू करने से और मैंने ग्रहण-> प्राथमिकताएं-> जावा-> स्थापित जेआरई के तहत इस तर्क को सेट करने का भी प्रयास किया लेकिन इनमें से कोई भी मदद नहीं की। मेरा wsimport चींटी कार्य classpath जेएक्स-डब्ल्यूएस 2.2.6 जार देखने के लिए परिभाषित किया गया है। मैंने 2.2.6 जारों को खींचने के लिए अपने प्रोजेक्ट बिल्ड पथ को सेट करने का भी प्रयास किया। कुछ भी काम नहीं करता है। क्या मैं कुछ भूल रहा हूँ?

+0

क्या आप सुनिश्चित हैं कि जावा बाइनरी जो आप wsimport चलाते हैं, वह जावा है जो आप बदल चुके हैं? –

उत्तर

6

यह सुनिश्चित नहीं है कि यह आगे क्यों नहीं उठा रहा है, उसने lib का समर्थन किया है (शायद आपके द्वारा लिखे गए अनुमोदित डीआईआर के अलावा आप अपनी अलग-अलग जेआरई/जेडीके के लिए ग्रहण कर रहे हैं?), लेकिन आखिरी चीज के बारे में आपने कोशिश की .. जार को सीधे पथ पथ में जोड़ना .... यह काम करेगा यदि आप बिल्ड पथ प्रविष्टियों को ऑर्डर करते हैं जैसे कि आपके जेएक्स-डब्ल्यूएस जार जेडीके एंट्री से ऊपर हैं।

1

आपने जेएक्स-डब्ल्यूएस 2.1 की आवश्यकता वाले कोड का उत्पादन किया था। संस्करण 2.0 में WebServiceFeature क्लास नहीं है, और परिणामस्वरूप इस तरह के तर्क प्रकार के साथ सेवा में कन्स्ट्रक्टर भी नहीं है।

जैसा कि आप देख, जावा SE 6 में कोई इस तरह के एक निर्माता है: javax.xml.ws.Service एसई 6, लेकिन जावा ईई 6 में उदाहरण के लिए है: javax.xml.ws.Service ईई 6

enter image description here

0

आप नीचे दिए गए आदेश का उपयोग स्टब्स उत्पन्न करने के लिए कर सकते हैं wsdl2java -p -client -frontend jaxws21

1

यदि संभव हो तो एक ही समाधान एक उच्च JDK साथ jdk1.6 को बदलने के लिए कर सकता है (या तो 1.7 या 1.8) ।

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