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.

Reply via email to