2013-04-24 96 views
0

我们在CXF中看到间歇性错误。响应相当大(几百KB),启用MTOM,并启用CXF请求/响应日志记录拦截器的DEBUG修复问题,类似于this post(未解决)。我们的项目正在利用CXF 2.2.9版本。CXF服务客户端中的“IOException:奇怪的I/O流”

javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: [was class java.io.IOException] Strange I/O stream, returned 0 bytes on read 
       at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146) 
       at com.sun.proxy.$Proxy751.browseFiles(Unknown Source) 
… 
       at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.RuntimeException: [was class java.io.IOException] Strange I/O stream, returned 0 bytes on read 
       at com.ctc.wstx.util.ExceptionUtil.throwRuntimeException(ExceptionUtil.java:18) 
       at com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:731) 
       at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3657) 
       at com.ctc.wstx.sr.BasicStreamReader.getTextCharacters(BasicStreamReader.java:830) 
       at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleCharacters(StAXStreamConnector.java:323) 
… 
       at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124) 
       ... 51 more 
Caused by: java.io.IOException: Strange I/O stream, returned 0 bytes on read 
       at com.ctc.wstx.io.BaseReader.reportStrangeStream(BaseReader.java:148) 
       at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:373) 
… 

我最初认为这是由响应数据中的坏/无效字符(编码?)引起的;然而,它现在看起来更像是一个网络问题。这很奇怪,该服务在遇到这个问题之前已经运行了很长时间(没有问题)。

为什么会发生此错误?有没有办法解决这个问题,而不启用调试日志记录?

回答

相关问题