Jboss運行WebService報錯解決

來源:互聯網
上載者:User

項目中有些認證的需要用到第三方認證介面,第三方提供的是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產生的用戶端代碼不能用。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.