jax-ws发布的webservice服务,会出现偶发异常,重新调用成功

qq_39728621 2020-06-29 02:03:01
采用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秒左右间隔
...全文
3071 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39728621 2020-07-30
  • 打赏
  • 举报
回复
引用 3 楼 icoolno1 的回复:
Xml下载不全吧,把客户端的请求超时设长一点试试。
这是偶发的,而且每次出错后重发一样的报文就没问题了
八爻老骥 2020-07-28
  • 打赏
  • 举报
回复
Xml下载不全吧,把客户端的请求超时设长一点试试。
qq_39728621 2020-07-28
  • 打赏
  • 举报
回复
没人么,求大神回复
qq_39728621 2020-06-29
  • 打赏
  • 举报
回复
网上找了各种资料,也没找到可能原因,请求大神指导

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧