采用jax-ws发布的一个webservice服务,在项目环境下偶尔会出现如下异常,平均100笔出现2笔
com.sun.xml.ws.protocol.soap.MessageCreationException: 由于出现异常错误, 无法创建 SOAP 消息: XML 读进程错误: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} Message: Premature end of file.
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:319)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.transport.http.HttpAdapter.decodePacket(HttpAdapter.java:347)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.transport.http.HttpAdapter.access$400(HttpAdapter.java:101)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:670)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:266)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.transport.http.servlet.ServletAdapter.invokeAsync(ServletAdapter.java:225)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:161)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:197)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:81)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at javax.servlet.http.HttpServlet.service(HttpServlet.java:153)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:273)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:730)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:649)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at java.lang.Thread.run(Thread.java:662)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} Caused by: com.sun.xml.ws.streaming.XMLStreamReaderException: XML 读进程错误: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} Message: Premature end of file.
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.streaming.XMLStreamReaderUtil.wrapException(XMLStreamReaderUtil.java:326)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.streaming.XMLStreamReaderUtil.next(XMLStreamReaderUtil.java:99)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.streaming.XMLStreamReaderUtil.nextContent(XMLStreamReaderUtil.java:169)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.streaming.XMLStreamReaderUtil.nextElementContent(XMLStreamReaderUtil.java:104)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:202)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:338)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:156)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:314)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} ... 18 more
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} Message: Premature end of file.
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:594)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.util.xml.XMLStreamReaderFilter.next(XMLStreamReaderFilter.java:96)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} at com.sun.xml.ws.streaming.XMLStreamReaderUtil.next(XMLStreamReaderUtil.java:80)
[2020.04.07 08:16:06.437][08:16:06.437] {http--80-9259$2048092149} ... 24 more
以上报错用soapui测试发送空报文可以重现,但是接口的调用放和ESB检查都说发送了正确xml报文,然后重发就没问题。
而且通过检查线程发现,接口的警告信息到异常有10秒左右间隔