Jboss运行WebService报错解决

来源:互联网 发布:心蓝软件 编辑:程序博客网 时间:2024/05/01 21:29

项目中有些认证的需要用到第三方认证接口,第三方提供的是WSDL形式的WebService接口。为了调用方便,使用Apache CXF工具生成客户端代码。本地开发时,用的是Apache Tomcat7服务器,调用WebService客户端没有问题。部署到测试环境时,用的是Jboss7.1.1服务器。问题出现了,运行报错。

报错信息:

4:20:49,987 INFO  [stdout] (http--0.0.0.0-8080-2) java.lang.reflect.InvocationTargetException14:20:49,992 INFO  [stdout] (http--0.0.0.0-8080-2) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)14:20:49,995 INFO  [stdout] (http--0.0.0.0-8080-2) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)14:20:49,998 INFO  [stdout] (http--0.0.0.0-8080-2) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)14:20:50,001 INFO  [stdout] (http--0.0.0.0-8080-2) at java.lang.reflect.Method.invoke(Method.java:606)14:20:50,005 INFO  [stdout] (http--0.0.0.0-8080-2) at com.huxin.cd.servlet.ChaodaiServlet.processRequest(ChaodaiServlet.java:149)14:20:50,007 INFO  [stdout] (http--0.0.0.0-8080-2) at com.huxin.base.servlet.AbstractBaseServlet.doPost(AbstractBaseServlet.java:126)14:20:50,014 INFO  [stdout] (http--0.0.0.0-8080-2) at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)14:20:50,015 INFO  [stdout] (http--0.0.0.0-8080-2) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)14:20:50,016 INFO  [stdout] (http--0.0.0.0-8080-2) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)14:20:50,018 INFO  [stdout] (http--0.0.0.0-8080-2) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)14:20:50,021 INFO  [stdout] (http--0.0.0.0-8080-2) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)14:20:50,024 INFO  [stdout] (http--0.0.0.0-8080-2) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)14:20:50,026 INFO  [stdout] (http--0.0.0.0-8080-2) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)14:20:50,028 INFO  [stdout] (http--0.0.0.0-8080-2) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)14:20:50,030 INFO  [stdout] (http--0.0.0.0-8080-2) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)14:20:50,031 INFO  [stdout] (http--0.0.0.0-8080-2) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)14:20:50,033 INFO  [stdout] (http--0.0.0.0-8080-2) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)14:20:50,035 INFO  [stdout] (http--0.0.0.0-8080-2) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)14:20:50,036 INFO  [stdout] (http--0.0.0.0-8080-2) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)14:20:50,038 INFO  [stdout] (http--0.0.0.0-8080-2) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)14:20:50,040 INFO  [stdout] (http--0.0.0.0-8080-2) at java.lang.Thread.run(Thread.java:745)14:20:50,042 INFO  [stdout] (http--0.0.0.0-8080-2) Caused by: java.lang.NoClassDefFoundError: org/springframework/beans/BeansException14:20:50,045 INFO  [stdout] (http--0.0.0.0-8080-2) at org.jboss.wsf.stack.cxf.client.configuration.JBossWSBusFactory.getSpringBusFactory(JBossWSBusFactory.java:120)14:20:50,047 INFO  [stdout] (http--0.0.0.0-8080-2) at org.jboss.wsf.stack.cxf.client.configuration.JBossWSBusFactory.createBus(JBossWSBusFactory.java:54)14:20:50,050 INFO  [stdout] (http--0.0.0.0-8080-2) at org.jboss.wsf.stack.cxf.client.ProviderImpl.setValidThreadDefaultBus(ProviderImpl.java:213)14:20:50,055 INFO  [stdout] (http--0.0.0.0-8080-2) at org.jboss.wsf.stack.cxf.client.ProviderImpl.createServiceDelegate(ProviderImpl.java:140)14:20:50,058 INFO  [stdout] (http--0.0.0.0-8080-2) at javax.xml.ws.Service.<init>(Service.java:57)14:20:50,059 INFO  [stdout] (http--0.0.0.0-8080-2) at com.huxin.cd.webservice.client.junyu.ocr.JYOcrWebservice.<init>(JYOcrWebservice.java:47)14:20:50,060 INFO  [stdout] (http--0.0.0.0-8080-2) at com.huxin.cd.servlet.HuxinChaoDaiLoanServletBLL.CdOcr(HuxinChaoDaiLoanServletBLL.java:2283)14:20:50,063 INFO  [stdout] (http--0.0.0.0-8080-2) ... 21 more14:20:50,065 INFO  [stdout] (http--0.0.0.0-8080-2) Caused by: java.lang.ClassNotFoundException: org.springframework.beans.BeansException from [Module "org.apache.cxf:main" from local module loader @35481fbd (roots: F:\work\web_server\jboss-as-7.1.1.Final\modules)]14:20:50,070 INFO  [stdout] (http--0.0.0.0-8080-2) at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)14:20:50,072 INFO  [stdout] (http--0.0.0.0-8080-2) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)14:20:50,074 INFO  [stdout] (http--0.0.0.0-8080-2) at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)14:20:50,076 INFO  [stdout] (http--0.0.0.0-8080-2) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)14:20:50,078 INFO  [stdout] (http--0.0.0.0-8080-2) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)14:20:50,080 INFO  [stdout] (http--0.0.0.0-8080-2) ... 28 more
找到关键性错误信息:
Caused by: java.lang.ClassNotFoundException: org.springframework.beans.BeansException from [Module "org.apache.cxf:main" from local module loader @35481fbd

由错误信息,可以大概得知是缺少spring-beans-version.jar,但是该项目中是有beans的jar包的。网上搜了很多,说的是不兼容Spring。打开Jboss安装目录,Jboss7中modules中自带cxf的jar包,看到modules.xml中配置的依赖中有spring,但是是可选的。试了很多方法,还是不行。

无奈之中,使用cxf生成的客户端代码不行,那就换种方式。使用Apache axis生成客户端代码后,问题解决。

有时间还是要研究下,为什么使用CXF生成的客户端代码不能用。



0 0
原创粉丝点击