2010-11-11 18 views
1

Après la mise à niveau d'OpenEJB de 3.1.2 (utilise CXF 2.0.9) vers OpenEJB 3.1.3 (utilise CXF 2.2.10), les services Web basés sur CXF sont interrompus à l'exception suivante sur un côté serveur:Les services Web CXF ne fonctionneront pas après la mise à niveau vers la version 2.2.10

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) 

il semble que ce n'est pas problème OpenEJB mais CXF seule. Qu'est-ce qui aurait pu changer entre CXF 2.0.9 et 2.2.10 pour provoquer cette erreur?

+0

Avez-vous essayé de soumettre un rapport de problème à OpenEJB (https://issues.apache.org/jira/browse/OPENEJB)? –

+0

pas encore. Je ne veux pas vraiment y aller tout de suite et je sais que les gens d'openejb regardent ce forum ... – topchef

+0

@grigory Jean-Louis est typiquement le gars qui s'occupe de tout le web service et c'est lui qui a fait la mise à niveau . Ne pense pas qu'il garde un oeil sur stackoverflow. Peut-être préférable de demander sur la liste des utilisateurs ou de déposer un JIRA. –

Répondre

1

Il ya le bug connexe CXF-3170 "NullPointerException in StaxUtils.java:961" du 6 décembre. Il semble être exactement le même problème et l'auteur sait la raison:

Ceci est dû à la façon dont nous configurons Jetty et CXF dans un fichier jetty.xml, donc c'est notre faute pour ainsi dire.

Vous êtes probablement besoin de demander directement l'auteur du bug CXF OU attendre la prochaine version de CXF où ce bug sera corrigé et demander aux développeurs de mettre à niveau OpenEJB CXF.