2010-04-08 61 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。

相关问题