2016-04-26 10 views
0

Мы используем Spring Web-сервисы версии 2.1.3 с Axiom Api версии 1.2.14 и Spring core версии 3.1.0, чтобы выставлять веб-службы с использованием AxiomSoapMessageFactory, но приведенное ниже исключение. Я пытался использовать разные версии Axiom Api, но я все еще не могу решить проблему. Я использую WebSphere 7 и Java 6.Исключение с интеграцией Axiom и Spring WS

4/25/16 16:41:28:006 MST] 0000002c ServletWrappe E com.ibm.ws.webcontainer.servlet.ServletWrapper service CWSRV0068E: Uncaught exception created in one of the service methods of the servlet spring-ws in application emmam1. Exception created : org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NoSuchMethodError: org/apache/axiom/soap/SOAPFactory.createOMElement(Lorg/apache/axiom/om/OMDataSource;Ljavax/xml/namespace/QName;)Lorg/apache/axiom/om/OMSourcedElement; 
     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894) 
     at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:738) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) 
     at com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:307) 
     at com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:576) 
     at com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:250) 
     at com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:259) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1694) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1635) 
     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113) 
     at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:80) 
     at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:965) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:508) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181) 
     at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3994) 
     at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276) 
     at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:945) 
     at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592) 
     at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:191) 
     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454) 
     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:516) 
     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:307) 
     at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:84) 
     at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) 
     at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
     at com.ibm.io.async.AsyncChannelFuture$1.run(AsyncChannelFuture.java:205) 
     at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1662) 
Caused by: java.lang.NoSuchMethodError: org/apache/axiom/soap/SOAPFactory.createOMElement(Lorg/apache/axiom/om/OMDataSource;Ljavax/xml/namespace/QName;)Lorg/apache/axiom/om/OMSourcedElement; 
     at org.springframework.ws.soap.axiom.AxiomSoapBody.setStreamingPayload(AxiomSoapBody.java:71) 
     at org.springframework.ws.soap.axiom.AxiomSoapMessage.setStreamingPayload(AxiomSoapMessage.java:175) 
     at org.springframework.ws.server.endpoint.adapter.method.jaxb.AbstractJaxb2PayloadMethodProcessor.marshalToResponsePayload(AbstractJaxb2PayloadMethodProcessor.java:95) 
     at org.springframework.ws.server.endpoint.adapter.method.jaxb.JaxbElementPayloadMethodProcessor.handleReturnValue(JaxbElementPayloadMethodProcessor.java:60) 
     at org.springframework.ws.server.endpoint.adapter.DefaultMethodEndpointAdapter.handleMethodReturnValue(DefaultMethodEndpointAdapter.java:295) 
     at org.springframework.ws.server.endpoint.adapter.DefaultMethodEndpointAdapter.invokeInternal(DefaultMethodEndpointAdapter.java:248) 
     at org.springframework.ws.server.endpoint.adapter.AbstractMethodEndpointAdapter.invoke(AbstractMethodEndpointAdapter.java:53) 
     at org.springframework.ws.server.MessageDispatcher.dispatch(MessageDispatcher.java:233) 
     at org.springframework.ws.server.MessageDispatcher.receive(MessageDispatcher.java:173) 
     at org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport.handleConnection(WebServiceMessageReceiverObjectSupport.java:88) 
     at org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter.handle(WebServiceMessageReceiverHandlerAdapter.java:59) 
     at org.springframework.ws.transport.http.MessageDispatcherServlet.doService(MessageDispatcherServlet.java:239) 
     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) 
     ... 28 more 

[4/25/16 16:41:28:024 MST] 0000002c FfdcProvider W com.ibm.ws.ffdc.impl.FfdcProvider logIncident CWRDC1003I: FFDC Incident emitted on /opt/WebSphere7/AppServer/profiles/wsfpp1/logs/ffdc/wsfpp1lpdza653emmam1Server_543c543c_16.04.25_16.41.28.0108470346255677976768.txt com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter 82 
[4/25/16 16:41:28:024 MST] 0000002c FfdcProvider W com.ibm.ws.ffdc.impl.FfdcProvider logIncident CWRDC1003I: FFDC Incident emitted on /opt/WebSphere7/AppServer/profiles/wsfpp1/logs/ffdc/wsfpp1lpdza653emmam1Server_543c543c_16.04.25_16.41.28.0241260189154356098319.txt com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest() 309 
[4/25/16 16:41:28:027 MST] 0000002c webapp  E com.ibm.ws.webcontainer.webapp.WebApp logServletError CWSRV0293E: [Servlet Error]-[spring-ws]: java.lang.NoSuchMethodError: org/apache/axiom/soap/SOAPFactory.createOMElement(Lorg/apache/axiom/om/OMDataSource;Ljavax/xml/namespace/QName;)Lorg/apache/axiom/om/OMSourcedElement; 
     at org.springframework.ws.soap.axiom.AxiomSoapBody.setStreamingPayload(AxiomSoapBody.java:71) 
     at org.springframework.ws.soap.axiom.AxiomSoapMessage.setStreamingPayload(AxiomSoapMessage.java:175) 
     at org.springframework.ws.server.endpoint.adapter.method.jaxb.AbstractJaxb2PayloadMethodProcessor.marshalToResponsePayload(AbstractJaxb2PayloadMethodProcessor.java:95) 
     at org.springframework.ws.server.endpoint.adapter.method.jaxb.JaxbElementPayloadMethodProcessor.handleReturnValue(JaxbElementPayloadMethodProcessor.java:60) 
     at org.springframework.ws.server.endpoint.adapter.DefaultMethodEndpointAdapter.handleMethodReturnValue(DefaultMethodEndpointAdapter.java:295) 
     at org.springframework.ws.server.endpoint.adapter.DefaultMethodEndpointAdapter.invokeInternal(DefaultMethodEndpointAdapter.java:248) 
     at org.springframework.ws.server.endpoint.adapter.AbstractMethodEndpointAdapter.invoke(AbstractMethodEndpointAdapter.java:53) 
     at org.springframework.ws.server.MessageDispatcher.dispatch(MessageDispatcher.java:233) 
     at org.springframework.ws.server.MessageDispatcher.receive(MessageDispatcher.java:173) 
     at org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport.handleConnection(WebServiceMessageReceiverObjectSupport.java:88) 
     at org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter.handle(WebServiceMessageReceiverHandlerAdapter.java:59) 
     at org.springframework.ws.transport.http.MessageDispatcherServlet.doService(MessageDispatcherServlet.java:239) 
     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) 
     at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:738) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) 
     at com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:307) 
     at com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:576) 
     at com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:250) 
     at com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:259) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1694) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1635) 
     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113) 
     at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:80) 
     at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:965) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:508) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181) 
     at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3994) 
     at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276) 
     at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:945) 
     at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592) 
     at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:191) 
     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454) 
     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:516) 
     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:307) 
     at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:84) 
     at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) 
     at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
     at com.ibm.io.async.AsyncChannelFuture$1.run(AsyncChannelFuture.java:205) 
     at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1662) 
+0

Когда вы заполните вопрос, если вы выделите код (или исключения) и нажмите {}, то он вставляет четыре пробела, которые преобразуют его в блок кода. Кроме того, не нужно говорить «Спасибо» в конце вопроса. – AlBlue

ответ

0

Это вызвано наличием древнего кода Apache Axiom в среде выполнения WebSphere. Решение состоит в том, чтобы настроить приложение для переключения политики загрузки классов на родительскую.

Смежные вопросы