我用spring+xfire发布的webservice,在webservie接收到报文解析时报错java.lang.NullPointerException
 at com.sun.xml.stream.XMLEntityReaderImpl.skipSpaces(XMLEntityReaderImpl.java:1446)
 at com.sun.xml.stream.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:800)
 at com.sun.xml.stream.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:330)
 at com.sun.xml.stream.XMLReaderImpl.next(XMLReaderImpl.java:542)
 at org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(ReadHeadersHandler.java:44)
 at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
 at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
 at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
 at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
 at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
 at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
 at java.lang.Thread.run(Thread.java:636)
或java.lang.NullPointerException
 at com.sun.xml.stream.XMLEntityReaderImpl.arrangeCapacity(XMLEntityReaderImpl.java:1554)
 at com.sun.xml.stream.XMLEntityReaderImpl.skipString(XMLEntityReaderImpl.java:1644)
 at com.sun.xml.stream.XMLDocumentScannerImpl$XMLDeclDriver.next(XMLDocumentScannerImpl.java:716)
 at com.sun.xml.stream.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:330)
 at com.sun.xml.stream.XMLReaderImpl.setInputSource(XMLReaderImpl.java:177)
 at com.sun.xml.stream.ZephyrParserFactory.getXMLStreamReaderImpl(ZephyrParserFactory.java:259)
 at com.sun.xml.stream.ZephyrParserFactory.createXMLStreamReader(ZephyrParserFactory.java:142)
 at com.sun.xml.stream.ZephyrParserFactory.createXMLStreamReader(ZephyrParserFactory.java:134)
 at org.codehaus.xfire.util.STAXUtils.createXMLStreamReader(STAXUtils.java:762)
 at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:297)
 at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
 at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)都是偶尔报错,访问量比较大错误似乎是xfire在解析报文的时候发现结构不对,所以报错(大量访问的情况报几个错也无大碍)但是最要命的是,xfire解析报文的时候报错后cpu的占用率会升高,直至100,这是客户端就访问不到了,系统需要重启才能恢复cpu占用率到0.x%上求解啊!几乎每天都要重启!本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zsyspace/archive/2011/01/14/6139497.aspx