1

OpenEJB を 3.1.2 (CXF 2.0.9 を使用) から OpenEJB 3.1.3 (CXF 2.2.10 を使用) にアップグレードした後、CXF ベースの Web サービスは、サーバー側で次の例外を除いて壊れます。

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)

OpenEJB の問題ではなく、CXF のみの問題のようです。CXF 2.0.9 と 2.2.10 の間で何が変更され、このエラーが発生した可能性がありますか?

4

1 に答える 1

1

関連するバグCXF-3170 "NullPointerException in StaxUtils.java:961"が 12 月 6 日からあります。まったく同じ問題のようで、作者はその理由を知っています。

これは、jetty.xml ファイルで Jetty と CXF を構成する方法によるものであり、いわば私たちのせいです。

おそらく、CXF バグの作成者に直接尋ねるか、このバグが修正されるCXFの次のリリースを待ち、OpenEJB 開発者に CXF をアップグレードするよう依頼する必要があります。

于 2011-01-18T12:11:30.460 に答える