Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java &引用;IOException:奇怪的I/O流;在CXF服务客户端中_Java_Web Services_Soap_Cxf - Fatal编程技术网

Java &引用;IOException:奇怪的I/O流;在CXF服务客户端中

Java &引用;IOException:奇怪的I/O流;在CXF服务客户端中,java,web-services,soap,cxf,Java,Web Services,Soap,Cxf,我们看到CXF中存在间歇性错误。响应相当大(几百KB),启用了MTOM,并且为CXF请求/响应日志拦截器启用调试修复了该问题,类似于(未解决)。我们的项目正在利用CXF 2.2.9版 javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: [was class java.io.IOException] Strange I/O stream, returned 0 bytes on read at or

我们看到CXF中存在间歇性错误。响应相当大(几百KB),启用了MTOM,并且为CXF请求/响应日志拦截器启用调试修复了该问题,类似于(未解决)。我们的项目正在利用CXF 2.2.9版

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)
…
我最初认为这是由响应数据中的错误/无效字符(编码?)引起的;然而,它现在看起来更像是一个网络问题。很奇怪,这项服务已经运行了很长一段时间(数年),在遇到这个问题之前没有出现任何问题

为什么会发生这种错误?有没有一种方法可以在不启用调试日志记录的情况下解决此问题?

基于并考虑的源代码,当传递到的缓冲区长度为零时,可能会出现此问题

方法实现是否正确?如果返回0,他们是否应该这样做?

基于并考虑的源代码,当传递到的缓冲区长度为零时,可能会出现问题


方法实现是否正确?如果返回0,他们是否应该这样做?

升级到较新版本的CXF可能会解决此问题。CXF mime流中存在一些错误。特别是,这看起来非常类似于:


升级到较新版本的CXF可能会解决此问题。CXF mime流中存在一些错误。特别是,这看起来非常类似于: