You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "iris ding (JIRA)" <ji...@apache.org> on 2014/07/04 03:31:34 UTC
[jira] [Created] (CXF-5846) ClassCastException in
org.apache.cxf.jaxrs.provider.BinaryDataProvider & SourceProvider
iris ding created CXF-5846:
------------------------------
Summary: ClassCastException in org.apache.cxf.jaxrs.provider.BinaryDataProvider & SourceProvider
Key: CXF-5846
URL: https://issues.apache.org/jira/browse/CXF-5846
Project: CXF
Issue Type: Bug
Affects Versions: 3.0.0
Reporter: iris ding
1. Using Reader's Implementation BufferedReader:
@POST
@Path("/subclasses/shouldfail")
public BufferedReader postReader(BufferedReader br) {
return br;
}
Exception stack:
Caused by: java.lang.ClassCastException: Cannot cast class java.io.InputStreamReader to class java.io.BufferedReader
at java.lang.Class.cast(Class.java:1730)
at org.apache.cxf.jaxrs.provider.BinaryDataProvider.readFrom(BinaryDataProvider.java:77)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1311)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.java:1262)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameter(JAXRSUtils.java:801)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:764)
at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:212)
at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:76)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
... 19 more
2. Using ByteArrayInputStream:
@POST
@Path("/subclasses/shouldfail")
public ByteArrayInputStream postInputStream(ByteArrayInputStream is) {
return is;
}
Exception stack:
Caused by: java.lang.ClassCastException: Cannot cast class org.apache.cxf.transport.http.AbstractHTTPDestination$1 to class java.io.ByteArrayInputStream
at java.lang.Class.cast(Class.java:1730)
at org.apache.cxf.jaxrs.provider.BinaryDataProvider.readFrom(BinaryDataProvider.java:74)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1311)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.java:1262)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameter(JAXRSUtils.java:801)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:764)
at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:212)
at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:76)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
... 19 more
3. Using Source's implmentation class:
public static class UnsupportedSourceSubclass implements Source {
public String getSystemId() {
return null;
}
public void setSystemId(String systemId) {
}
}
@POST
@Path("/subclasses/shouldfail")
public UnsupportedSourceSubclass postReader(UnsupportedSourceSubclass saxSource) {
return saxSource;
}
Exception stack:
Caused by: java.lang.ClassCastException: Cannot cast class javax.xml.transform.stream.StreamSource to class com.test.jaxrs.fat.standard.SourceResource$UnsupportedSourceSubclass
at java.lang.Class.cast(Class.java:1730)
at org.apache.cxf.jaxrs.provider.SourceProvider.readFrom(SourceProvider.java:115)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1311)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.java:1262)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameter(JAXRSUtils.java:801)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:764)
at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:212)
at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:76)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
... 19 more
--
This message was sent by Atlassian JIRA
(v6.2#6252)