2010-04-08 258 views
0

我正在嘗試調用webservice。客戶端使用weblogic的ant任務clientgen生成。但是當我使用客戶端時,發生以下異常:在Weblogic 9.2中調用webservice時出現NullPointerException

java.lang.ExceptionInInitializerError 
at com.bea.xbean.xb.xsdschema.SchemaDocument$Factory.parse(SchemaDocument.java:799) 
at weblogic.wsee.wsdl.WsdlSchema.parse(WsdlSchema.java:104) 
at weblogic.wsee.wsdl.WsdlSchema.parse(WsdlSchema.java:73) 
at weblogic.wsee.wsdl.WsdlTypes.parse(WsdlTypes.java:165) 
at weblogic.wsee.wsdl.WsdlDefinitions.parseChild(WsdlDefinitions.java:480) 
at weblogic.wsee.wsdl.WsdlExtensible.parse(WsdlExtensible.java:98) 
at weblogic.wsee.wsdl.WsdlDefinitions.parse(WsdlDefinitions.java:428) 
at weblogic.wsee.wsdl.WsdlDefinitions.parse(WsdlDefinitions.java:385) 
at weblogic.wsee.wsdl.WsdlFactory.parse(WsdlFactory.java:78) 
at weblogic.wsee.wsdl.WsdlFactory.parse(WsdlFactory.java:65) 
at weblogic.wsee.jaxrpc.ServiceImpl.loadWsdlDefinition(ServiceImpl.java:437) 
at weblogic.wsee.jaxrpc.ServiceImpl.<init>(ServiceImpl.java:108) 
    [...] 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:585) 
at junit.framework.TestCase.runTest(TestCase.java:168) 
at junit.framework.TestCase.runBare(TestCase.java:134) 
at junit.framework.TestResult$1.protect(TestResult.java:110) 
at junit.framework.TestResult.runProtected(TestResult.java:128) 
at junit.framework.TestResult.run(TestResult.java:113) 
at junit.framework.TestCase.run(TestCase.java:124) 
at junit.framework.TestSuite.runTest(TestSuite.java:232) 
at junit.framework.TestSuite.run(TestSuite.java:227) 
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
Caused by: java.lang.NullPointerException 
at com.bea.xml.XmlBeans.typeSystemForClassLoader(XmlBeans.java:769) 
at com.bea.xbean.xb.xsdschema.SchemaDocument.<clinit>(SchemaDocument.java:19) 
... 36 more 

有人知道可能是什麼問題嗎?

+0

ExceptionInInitializerError表示在靜態初始化程序中發生意外的異常。拋出ExceptionInInitializerError來指示在評估靜態初始化程序或靜態變量的初始化程序期間發生異常。你有代碼在哪裏發生? – 2010-04-08 17:47:50

+0

我沒有代碼,這發生在來自weblogic服務器(xbean.jar)的庫中。在XmlBeans.typeSystemForClassLoader(ClassLoader,String)方法中,發生NPE,因爲第一個參數爲null。這是我迄今發現的。 – Christian 2010-04-08 18:07:56

回答

0

我找到了解決方案。這是一個類路徑問題。我需要在我的類路徑中的以下jar文件:

  • 的weblogic.jar
  • WebLogic的容器binding.jar
  • xbean.jar
  • STAX的API-1.0.1.jar
  • web服務的.jar
  • 的ant.jar
0

還有就是要解決這個問題的另一種方式。

在build.xml中包含並添加所有weblogic服務器庫jars 運行您的域目錄的setDomainEnv。 現在構建webserivces。

相關問題