inFaultInterceptors doesn't work as expected
--------------------------------------------
Key: CXF-1828
URL: https://issues.apache.org/jira/browse/CXF-1828
Project: CXF
Issue Type: Bug
Components: Bus, Samples
Affects Versions: 2.1.2
Environment: java 1.6
Reporter: Dmitry
I'm trying to zip FAULT response from server.
Server properly zip response , so server's [outFaultInterceptors] work fine
But, It looks like client couldn't properly process it in [inFaultInterceptors]
Step to reproduce:
1. Upade sample code from standart distributive
apache-cxf-2.1.2/samples/configuration_interceptor
client.xml:
<cxf:bus>
<cxf:inInterceptors>
</cxf:inInterceptors>
<cxf:inFaultInterceptors>
<ref bean="GZIPStream"/>
</cxf:inFaultInterceptors>
<!--cxf:outInterceptors>
<ref bean="GZIPStream"/>
</cxf:outInterceptors>
<cxf:outFaultInterceptors>
<ref bean="GZIPStream"/>
</cxf:outFaultInterceptors-->
</cxf:bus>
server:xml:
<cxf:bus>
<!--cxf:inInterceptors>
<ref bean="GZIPStream"/>
</cxf:inInterceptors>
<cxf:inFaultInterceptors>
<ref bean="GZIPStream"/>
</cxf:inFaultInterceptors-->
<cxf:outInterceptors>
<!--ref bean="GZIPStream"/-->
</cxf:outInterceptors>
<cxf:outFaultInterceptors>
<ref bean="GZIPStream"/>
</cxf:outFaultInterceptors>
</cxf:bus>
Client.java:
add next code and uncomment //import lines:
import org.apache.hello_world_soap_http.PingMeFault;
import org.apache.hello_world_soap_http.types.FaultDetail;
...
try {
System.out.println("Invoking pingMe, expecting exception...");
port.pingMe();
} catch (PingMeFault ex) {
System.out.println("Expected exception: PingMeFault has occurred: "
+ ex.getMessage());
FaultDetail detail = ex.getFaultInfo();
System.out.println("FaultDetail major:" + detail.getMajor());
System.out.println("FaultDetail minor:" + detail.getMinor());
}
System.exit(0);
}
Result:
[java] Invoking pingMe, expecting exception...
[java] Exception in thread "main" javax.xml.ws.soap.SOAPFaultException:
Could not create XMLStreamReader (input was of encoding UTF-8).
[java] at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:199)
[java] at $Proxy41.pingMe(Unknown Source)
[java] at demo.stream.client.Client.main(Client.java:67)
[java] Caused by: org.apache.cxf.interceptor.Fault: Could not create
XMLStreamReader (input was of encoding UTF-8).
[java] at
org.apache.cxf.interceptor.StaxInInterceptor.handleMessage(StaxInInterceptor.java:83)
[java] at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
[java] at
org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:449)
[java] at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1996)
[java] at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1832)
[java] at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
[java] at
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:591)
[java] at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
[java] at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
[java] at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
[java] at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242)
[java] at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
[java] at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178)
[java] ... 2 more
[java] Caused by: com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 start
byte 0x8b (at char #2, byte #-1)
[java] at
com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:548)
[java] at
com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:604)
[java] at
com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:629)
[java] at
com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:324)
[java] at
org.apache.cxf.interceptor.StaxInInterceptor.handleMessage(StaxInInterceptor.java:81)
[java] ... 14 more
[java] Caused by: java.io.CharConversionException: Invalid UTF-8 start
byte 0x8b (at char #2, byte #-1)
[java] at
com.ctc.wstx.io.UTF8Reader.reportInvalidInitial(UTF8Reader.java:302)
[java] at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:188)
[java] at
com.ctc.wstx.io.ReaderBootstrapper.initialLoad(ReaderBootstrapper.java:245)
[java] at
com.ctc.wstx.io.ReaderBootstrapper.bootstrapInput(ReaderBootstrapper.java:132)
[java] at
com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:543)
[java] ... 18 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.