2009-09-29 16 views
6

मैं कुछ समय के लिए webservice से कॉल विधियों के लिए अपाचे सीएक्सएफ wsdl2java जेनरेट कोड का उपयोग कर रहा हूं, जो अब तक ठीक काम कर रहा है .. मेरी समस्या यह है किसीएक्सएफ के साथ webservice अपवाद को पकड़ना: NoClassDefFoundError: SOAPFaultBuilder

Could not initialize class com.sun.xml.internal.ws.fault.SOAPFaultBuilder

मैं Ubuntu 9.04 उपयोग कर रहा हूँ, OpenJDK (IcedTea6 1.4.1) 6b14-: जब वेब सेवा (सिर्फ मुझ से नीचे हॉल में कार्यान्वित) वैध तरीके से एक साबुन अपवाद फेंकता है, CXF निम्न त्रुटि संदेश के साथ आता है 1.1.1-0ubuntu11, मेवेन 2 और सीएक्सएफ 2.2.3। मैं वर्तमान में इस समस्या को हल करने के तरीके के बारे में एक नुकसान में हूं, क्योंकि जिस कोड और सेटअप का मैं उपयोग कर रहा हूं वह मामूली सरल लगता है .. कोई भी मुझे सही दिशा में इंगित करने में सक्षम है? मुझे पता है अगर मैं किसी भी अधिक जानकारी पोस्ट कर सकते हैं करते हैं ..

यह पूर्ण स्टैकट्रेस लौटे है:

java.lang.NoClassDefFoundError: Could not initialize class com.sun.xml.internal.ws.fault.SOAPFaultBuilder 
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:107) 
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78) 
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107) 
    at $Proxy36.downloadPDB(Unknown Source) 
    at path.to.my.code.downloadInvalidFileID(SingleMethodTest.java:64) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:616) 
    at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59) 
    at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98) 
    at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79) 
    at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87) 
    at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77) 
    at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42) 
    at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88) 
    at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51) 
    at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44) 
    at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27) 
    at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37) 
    at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42) 
    at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62) 
    at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) 
    at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) 
    at org.apache.maven.surefire.Surefire.run(Surefire.java:177) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:616) 
    at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338) 
    at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997) 
+1

सीएक्सएसएफएफएक्यू में "क्या मैं जावा 6 के तहत चला सकता हूं" प्रविष्टि है, क्या आपने इसे चेक किया है? http://cxf.apache.org/faq.html#FAQ- अक्सर पूछे जाने वाले प्रश्न – skaffman

+0

हम्म, धन्यवाद। मैंने उस नोट को याद किया, और अब com.sun.xml.bind jaxb-impl और jaxb-xjc maven में जोड़ा है .. लेकिन अभी तक कोई भाग्य/परिवर्तन नहीं .. मैं इसमें कुछ और काम करूंगा .. – Tim

+0

कोई भाग्य नहीं लगता है: अभी भी वही स्टैकट्रैक .. क्या मुझे कुछ भी है जो मुझे मेवेन का उपयोग करके बाहर करने की ज़रूरत है? – Tim

उत्तर

3

है कि स्टैक ट्रेस के बारे में दो दिलचस्प बातें कर रहे हैं:

1) यह समस्या हो रही है एक SAAJ कार्यान्वयन खोजना। शायद क्लासपाथ में saaj-impl.jar जोड़ना इसे हल कर सकता है।

2) यह सीएक्सएफ का उपयोग नहीं कर रहा है। यह सन जेएक्स-डब्ल्यूएस संदर्भ कार्यान्वयन का उपयोग कर रहा है जो जेरे में बनाया गया है। इस प्रकार, ऐसा लगता है कि सीएक्सएफ जारों को बिल्कुल नहीं उठाया जा रहा है।

+0

हम्म दिलचस्प (अच्छी तरह से देखा गया!) .. मैं कल सुबह इस पहली चीज़ को देख लूंगा! – Tim

+0

धन्यवाद, सीएक्सएफ निर्भरता जोड़ना चाल था! एक निर्भरता के रूप में सीएक्सएफ जोड़ने के लिए कभी नहीं मिला, क्योंकि कोड इसके बिना काम करना प्रतीत होता था .. मुझे मूर्खतापूर्ण। – Tim

4

इसी तरह की समस्या थी जब हम चींटी से मेवेन में स्विच कर रहे थे। हम सूर्य जेडीके 1.6u20 का उपयोग करते हैं। उन सब काम करता है जोड़ने के रूप में यह पहले काम किया था के बाद

jaxws-api jaxws-आरटी jaxws उपकरण

:

हम Maven इकट्ठे युद्ध के दशक में इन पुस्तकालयों नहीं छूटा है। उम्मीद है कि यह किसी की मदद करेगा!

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