Illia Yehorov created CXF-7044:
----------------------------------
Summary: LoggingInInterceptor sometimes crashes if truncates
response with Unicode simbols
Key: CXF-7044
URL: https://issues.apache.org/jira/browse/CXF-7044
Project: CXF
Issue Type: Bug
Components: JAX-WS Runtime
Affects Versions: 3.1.7, 3.0.9, 3.1.6, 3.1.3, 3.1.1, 3.0.5
Reporter: Illia Yehorov
When LoggingInInterceptor logs a big response it truncates it to some default
(or configured) limit in bytes. It can happens that some Unicode symbol will be
divided on such truncating (if it is placed right on the border of the limit).
In this case the logger throws the exception as it considers this as
"Unexpected EOF in the middle of a multi-byte char" or "Unexpected EOF in CDATA
section"
Affects to all versions as it comes from third party library
"woodstox-core-asl-4.4.1.jar"
Here is example of stack trace:
org.apache.cxf.interceptor.Fault: [com.ctc.wstx.exc.WstxLazyException]
Unexpected EOF in the middle of a multi-byte char: got 1, needed 2, at char
#49138, byte #49152)
at
org.apache.cxf.interceptor.LoggingInInterceptor.logInputStream(LoggingInInterceptor.java:220)
~[cxf-core-3.1.0.jar:3.1.0]
at
org.apache.cxf.interceptor.LoggingInInterceptor.logging(LoggingInInterceptor.java:154)
~[cxf-core-3.1.0.jar:3.1.0]
at
org.apache.cxf.interceptor.LoggingInInterceptor.handleMessage(LoggingInInterceptor.java:80)
~[cxf-core-3.1.0.jar:3.1.0]
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
[cxf-core-3.1.0.jar:3.1.0]
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:802)
[cxf-core-3.1.0.jar:3.1.0]
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1642)
[cxf-rt-transports-http-3.1.0.jar:3.1.0]
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1533)
[cxf-rt-transports-http-3.1.0.jar:3.1.0]
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1336)
[cxf-rt-transports-http-3.1.0.jar:3.1.0]
at
org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:56)
[cxf-core-3.1.0.jar:3.1.0]
at
org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:215)
[cxf-core-3.1.0.jar:3.1.0]
at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
[cxf-core-3.1.0.jar:3.1.0]
at
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:652)
[cxf-rt-transports-http-3.1.0.jar:3.1.0]
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
[cxf-core-3.1.0.jar:3.1.0]
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
[cxf-core-3.1.0.jar:3.1.0]
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:516)
[cxf-core-3.1.0.jar:3.1.0]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:425)
[cxf-core-3.1.0.jar:3.1.0]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:326)
[cxf-core-3.1.0.jar:3.1.0]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:279)
[cxf-core-3.1.0.jar:3.1.0]
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
[cxf-rt-frontend-simple-3.1.0.jar:3.1.0]
at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)
[cxf-rt-frontend-jaxws-3.1.0.jar:3.1.0]
at com.sun.proxy.$Proxy262.transactionList(Unknown Source) [na:na]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)