After upgrade to 3.13 web services fail with exception
------------------------------------------------------
Key: OPENEJB-1397
URL: https://issues.apache.org/jira/browse/OPENEJB-1397
Project: OpenEJB
Issue Type: Bug
Components: webservices
Affects Versions: 3.1.3
Environment: Windows, Tomcat with OpenEJB embedded
Reporter: Gregory Kanevsky
After upgrading OpenEJB from 3.1.2 (uses CXF 2.0.9) to OpenEJB 3.1.3 (uses CXF
2.2.10) CXF-based web-services are broken with the following exception on a
server side:
org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
WARNING: Interceptor for {http://xxxxxx.com/wsdl}ProInfoMgmtWebService has
thrown exception, unwinding now
java.lang.NullPointerException
at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:961)
at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:949)
at
org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:183)
at
org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:71)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:244)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:110)
at
org.apache.openejb.server.cxf.HttpDestination.invoke(HttpDestination.java:123)
at
org.apache.openejb.server.cxf.CxfWsContainer.processPOST(CxfWsContainer.java:106)
at
org.apache.openejb.server.cxf.CxfWsContainer.onMessage(CxfWsContainer.java:77)
at
org.apache.openejb.server.webservices.OpenEJBHttpWsRegistry$ClassLoaderHttpListener.onMessage(OpenEJBHttpWsRegistry.java:117)
at
org.apache.openejb.server.httpd.HttpListenerRegistry.onMessage(HttpListenerRegistry.java:43)
at
org.apache.openejb.server.httpd.OpenEJBHttpServer.process(OpenEJBHttpServer.java:176)
at
org.apache.openejb.server.httpd.OpenEJBHttpServer.processRequest(OpenEJBHttpServer.java:132)
at
org.apache.openejb.server.httpd.OpenEJBHttpServer.service(OpenEJBHttpServer.java:78)
at
org.apache.openejb.server.httpd.HttpEjbServer.service(HttpEjbServer.java:61)
at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:91)
at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:120)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
After debugging this with CXF 2.2.10 source we found that SAAJInInterceptor
called on each call (from WSS4JInInterceptor interceptor). Calling
SAAJInInterceptor by default is apparently new in CXF 2.2.10. When called
SAAJInInterceptor attempts to obtain
SOAPMessage doc = msg.getContent(SOAPMessage.class);
which is null in our case. This subsequently brings NullPointerException after
few steps.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.