2013-04-24 4 views
0

Мы наблюдаем прерывистую ошибку в CXF. Ответ довольно велик (несколько сотен КБ), MTOM включен, а включение DEBUG для перехватчиков запросов/ответов на регистрацию CXF устраняет проблему, аналогично this post (что не разрешено). Наш проект использует версию CXF версии 2.2.9.«IOException: Strange I/O stream» в клиенте службы CXF

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) 
… 

Первоначально я думал, что это было вызвано неправильным/недопустимым символом (кодировкой?) В данных ответа; однако теперь он больше похож на сетевую проблему. Это очень странно, служба работает в течение длительного времени (лет) без проблем, прежде чем столкнуться с этой проблемой.

Зачем возникает эта ошибка? Есть ли способ разрешить это без включения ведения журнала отладки?

ответ

2

Вероятно, обновление до более новой версии CXF может исправить это. Были некоторые ошибки в потоках MIME CXF. В частности, это выглядит очень похоже на:

https://issues.apache.org/jira/browse/CXF-3068

Смежные вопросы