[ https://issues.apache.org/activemq/browse/CAMEL-2224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=56089#action_56089 ]
Sergey Beryozkin commented on CAMEL-2224: ----------------------------------------- Hi Charles, so given this log 10:59:44,163 | DEBUG | ervice/incidents | JAXRSUtils | pache.cxf.jaxrs.utils.JAXRSUtils 355 | Resource operation addIncident on the resource class org.apache.camel.example.reportincident.restful.ReportIncidentService has been selected 10:59:44,163 | DEBUG | ervice/incidents | JAXRSInInterceptor | s.interceptor.JAXRSInInterceptor 195 | Request path is: /reportservice/incidents 10:59:44,163 | DEBUG | ervice/incidents | JAXRSInInterceptor | s.interceptor.JAXRSInInterceptor 196 | Request HTTP method is: POST 10:59:44,163 | DEBUG | ervice/incidents | JAXRSInInterceptor | s.interceptor.JAXRSInInterceptor 197 | Request contentType is: */* 10:59:44,163 | DEBUG | ervice/incidents | JAXRSInInterceptor | s.interceptor.JAXRSInInterceptor 198 | Accept contentType is: application/xml 10:59:44,163 | DEBUG | ervice/incidents | JAXRSInInterceptor | s.interceptor.JAXRSInInterceptor 200 | Found operation: addIncident 10:59:44,163 | DEBUG | ervice/incidents | JAXRSUtils | pache.cxf.jaxrs.utils.JAXRSUtils 556 | No Content-Type specified for HTTP POST it appears that 10:59:44,163 | WARN | ervice/incidents | WebApplicationExceptionMapper | pl.WebApplicationExceptionMapper 52 | WebApplicationException has been caught : cause is javax.xml.stream.XMLStreamException JAXBElementProvider tried to read from XMLStreamReader (more logging would help). CXF JAXRS itself does read directly from the request InputsStream but will try to read from XMLStreamReader if it is available on the message. At the moment I can not tell where this (custom) XMLStreamReader is coming from. I'm on my gmail now and #cxf in codehouze. Lets chat there. Alternatively please create a CXF JIRA with the copy of your latest project thanks > Response received is of type java.lang.String instead of > javax.ws.rs.core.Response > ---------------------------------------------------------------------------------- > > Key: CAMEL-2224 > URL: https://issues.apache.org/activemq/browse/CAMEL-2224 > Project: Apache Camel > Issue Type: Bug > Components: camel-cxf > Affects Versions: 2.1.0 > Reporter: Charles Moulliard > Assignee: Willem Jiang > Attachments: camel-cxf-rest-issue.zip > > > {code} > D:\Soft\opensource\curl-7.19.5-win32-nossl>curl -i -H "Accept: > application/xml" > http://localhost:8080/cxf/camel-rest-example/reportservice/incidents/1 > 11/ > HTTP/1.1 500 Internal Server Error > Content-Type: text/xml; charset=iso-8859-1 > Content-Length: 256 > Server: Jetty(6.1.x) > <ns1:XMLFault > xmlns:ns1="http://cxf.apache.org/bindings/xformat"><ns1:faultstring > xmlns:ns1="http://cxf.apache.org/bindings/xformat">java.lang.ClassCa > stException: java.lang.String cannot be cast to > javax.ws.rs.core.Response</ns1:faultstring></ns1:XMLFault> > {code} > See the code in attachment > Here is the config of apache karaf feature > {code} > # > # Comma separated list of features repositories to register by default > # > featuresRepositories=mvn:org.apache.felix.karaf/apache-felix-karaf/1.0.0/xml/features,mvn:org.apache.camel.karaf/features/2.1-SNAPSHOT/xml/features,jar:mvn:org.apache.camel.example/reportincident.restful.features/1.0-SNAPSHOT!/reportincident.features-1.0-SNAPSHOT-features.xml > # > # Comma separated list of features to install at startup > # > featuresBoot=spring,spring-dm,camel,http-reportingincident,spring-web,camel-cxf,reportincident > {code} > camel + code is present in the zip. They are three bundles > - one generating the feature file of the project > - another containing the REST service > - and the last camel route > here is the log on camel > {code} > 17:34:22,155 | INFO | xtenderThread-37 | ContextLoaderListener | > BundleApplicationContextListener 45 | Application context successfully > refreshed > (OsgiBundleXmlApplicationContext(bundle=org.apache.camel.example.reportincident.restful.routing, > config=osgibundle:/META-INF/spring/*.xml)) > 17:34:27,701 | INFO | 14218...@qtp1-1 | Tracer | > rg.apache.camel.processor.Logger 88 | 970d2b95-93d9-4319-a5fd-4906ec9a9a9a > >>> from(/camel-rest-example/) --> setHeader[CamelCxfRsUsingHttpAPI], > Pattern:InOut, > Headers:{camelcxfrsoperationresourceinfostack=[org.apache.cxf.jaxrs.model.methodinvocationi...@82fd0f], > > CamelHttpMethod=GET, > CamelHttpPath=/camel-rest-example/reportservice/incidents/111/, > CamelCxfRsResponseClass=class > org.apache.camel.example.reportincident.restful.Incident, > operationName=getIncident, > CamelHttpUri=/cxf/camel-rest-example/reportservice/incidents/111/, > CamelAcceptContentType=application/xml, > CamelHttpCharacterEncoding=ISO-8859-1}, BodyType:Object[], > Body:[Ljava.lang.Object;@16237fd > 17:34:27,701 | INFO | 14218...@qtp1-1 | Tracer | > rg.apache.camel.processor.Logger 88 | 970d2b95-93d9-4319-a5fd-4906ec9a9a9a > >>> setHeader[CamelCxfRsUsingHttpAPI] --> > log://org.apache.camel.example.reportIncident?level=INFO, Pattern:InOut, > Headers:{CamelHttpPath=/camel-rest-example/reportservice/incidents/111/, > CamelHttpUri=/cxf/camel-rest-example/reportservice/incidents/111/, > camelcxfrsoperationresourceinfostack=[org.apache.cxf.jaxrs.model.methodinvocationi...@82fd0f], > CamelCxfRsUsingHttpAPI=True, CamelCxfRsResponseClass=class > org.apache.camel.example.reportincident.restful.Incident, > CamelHttpCharacterEncoding=ISO-8859-1, CamelHttpMethod=GET, > operationName=getIncident, CamelAcceptContentType=application/xml}, > BodyType:Object[], Body:[Ljava.lang.Object;@16237fd > 17:34:27,717 | INFO | 14218...@qtp1-1 | reportIncident | > rg.apache.camel.processor.Logger 88 | Exchange[BodyType:Object[], > Body:[Ljava.lang.Object;@16237fd] > 17:34:27,717 | WARN | 14218...@qtp1-1 | PhaseInterceptorChain | > ache.cxf.common.logging.LogUtils 361 | Interceptor has thrown exception, > unwinding now > java.lang.ClassCastException: java.lang.String cannot be cast to > javax.ws.rs.core.Response > at > org.apache.camel.example.reportincident.restful.OverrideResponseHandler.handleResponse(OverrideResponseHandler.java:22) > at > org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:131) > at > org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:77) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) > at > org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:76) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109) > at > org.apache.cxf.transport.http_osgi.OsgiDestination.doMessage(OsgiDestination.java:79) > at > org.apache.cxf.transport.http_osgi.OsgiServletController.invokeDestination(OsgiServletController.java:324) > at > org.apache.cxf.transport.http_osgi.OsgiServletController.invoke(OsgiServletController.java:112) > at > org.apache.cxf.transport.http_osgi.OsgiServlet.invoke(OsgiServlet.java:53) > at > org.apache.cxf.transport.http_osgi.SpringOsgiServlet.invoke(SpringOsgiServlet.java:48) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:693) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363) > at > org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.handle(HttpServiceServletHandler.java:64) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) > at > org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.handle(HttpServiceContext.java:111) > at > org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:64) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:324) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:533) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:207) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403) > at > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) > at > org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522) > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.