[ https://issues.apache.org/activemq/browse/CAMEL-2224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=56087#action_56087 ]
Charles Moulliard commented on CAMEL-2224: ------------------------------------------ @Sergey, The call of a GET service works fine. Concerning the call to a POST, here is the error displayed in the console now : {code} 10:59:44,132 | DEBUG | ervice/incidents | jetty | service.jetty.internal.JCLLogger 85 | REQUEST /cxf/camel-rest-example/reportservice/incidents on org.mortbay.jetty.httpconnect...@136f665 10:59:44,132 | DEBUG | ervice/incidents | ServerModel | eb.service.spi.model.ServerModel 268 | Matching [/cxf/camel-rest-example/reportservice/incidents]... 10:59:44,132 | DEBUG | ervice/incidents | ServerModel | eb.service.spi.model.ServerModel 286 | Path [/cxf/camel-rest-example/reportservice/incidents] matched to {pattern=/cxf/.*,model=ServletModel{id=org.ops4j.pax.web.service.spi.model.ServletModel-6,name=cxf-osgi-transport-servlet,urlPatterns=[/cxf/*],alias=/cxf,servlet=org.apache.cxf.transport.http_osgi.springosgiserv...@23a559,initParams={org.springframework.osgi.bean.name=osgiServlet, alias=/cxf, service.id=78, objectClass=[Ljava.lang.String;@113de03, Bundle-SymbolicName=org.apache.cxf.bundle, servlet-name=cxf-osgi-transport-servlet, Bundle-Version=2.2.5},context=ContextModel{id=org.ops4j.pax.web.service.spi.model.ContextModel-4,name=,httpContext=DefaultHttpContext{bundle=org.apache.cxf.bundle [96]},contextParams={}}}} 10:59:44,132 | DEBUG | ervice/incidents | HttpServiceContext | etty.internal.HttpServiceContext 110 | Handling request for [/cxf/camel-rest-example/reportservice/incidents] using http context [DefaultHttpContext{bundle=org.apache.cxf.bundle [96]}] 10:59:44,132 | DEBUG | ervice/incidents | jetty | service.jetty.internal.JCLLogger 85 | sessionmanager=org.mortbay.jetty.servlet.hashsessionmana...@16a72f2 10:59:44,132 | DEBUG | ervice/incidents | jetty | service.jetty.internal.JCLLogger 85 | session=null 10:59:44,132 | DEBUG | ervice/incidents | jetty | service.jetty.internal.JCLLogger 85 | servlet=cxf-osgi-transport-servlet 10:59:44,132 | DEBUG | ervice/incidents | jetty | service.jetty.internal.JCLLogger 85 | chain=null 10:59:44,148 | DEBUG | ervice/incidents | jetty | service.jetty.internal.JCLLogger 85 | servlet holder=cxf-osgi-transport-servlet 10:59:44,148 | DEBUG | ervice/incidents | OsgiServlet | .http_osgi.OsgiServletController 276 | Service http request on thread: thread[31816...@qtp2-6 - /cxf/camel-rest-example/reportservice/incidents,5,main] 10:59:44,148 | DEBUG | ervice/incidents | AbstractHTTPDestination | ort.http.AbstractHTTPDestination 166 | Request Headers: {Host=[localhost:8080], User-Agent=[curl/7.19.5 (i586-pc-mingw32msvc) libcurl/7.19.5 zlib/1.2.3], Content-Type=[null], Accept=[application/xml]} 10:59:44,148 | DEBUG | ervice/incidents | PhaseInterceptorChain | .cxf.phase.PhaseInterceptorChain 587 | Chain org.apache.cxf.phase.phaseinterceptorch...@1a0a5fc was created. Current flow: unmarshal [JAXRSInInterceptor] pre-logical [OneWayProcessorInterceptor] invoke [ServiceInvokerInterceptor] post-invoke [OutgoingChainInterceptor] 10:59:44,148 | DEBUG | ervice/incidents | PhaseInterceptorChain | .cxf.phase.PhaseInterceptorChain 233 | Invoking handleMessage on interceptor org.apache.cxf.jaxrs.interceptor.jaxrsinintercep...@1f1788a 10:59:44,148 | DEBUG | ervice/incidents | JAXRSUtils | pache.cxf.jaxrs.utils.JAXRSUtils 223 | Trying to select a resource class /reportservice/incidents, request path : {1} 10:59:44,148 | DEBUG | ervice/incidents | JAXRSUtils | pache.cxf.jaxrs.utils.JAXRSUtils 279 | Trying to select a resource operation on the resource class org.apache.camel.example.reportincident.restful.ReportIncidentService 10:59:44,148 | DEBUG | ervice/incidents | JAXRSUtils | pache.cxf.jaxrs.utils.JAXRSUtils 396 | No method match, method name : getIncident, request path : /incidents, method @Path : /incidents/{id}/, HTTP Method : POST, method HTTP Method : GET, ContentType : */*, method @Consumes : */*,, Accept : application/xml,, method @Produces : application/xml,. 10:59:44,163 | DEBUG | ervice/incidents | JAXRSUtils | pache.cxf.jaxrs.utils.JAXRSUtils 396 | No method match, method name : updateIncident, request path : /incidents, method @Path : /incidents/, HTTP Method : POST, method HTTP Method : PUT, ContentType : */*, method @Consumes : */*,, Accept : application/xml,, method @Produces : */*,. 10:59:44,163 | DEBUG | ervice/incidents | JAXRSUtils | pache.cxf.jaxrs.utils.JAXRSUtils 332 | Resource operation addIncident may get selected 10:59:44,163 | DEBUG | ervice/incidents | JAXRSUtils | pache.cxf.jaxrs.utils.JAXRSUtils 396 | No method match, method name : addIncidentUniqueResponseCode, request path : /incidents, method @Path : /incidentsUniqueResponseCode/, HTTP Method : POST, method HTTP Method : POST, ContentType : */*, method @Consumes : */*,, Accept : application/xml,, method @Produces : */*,. 10:59:44,163 | DEBUG | ervice/incidents | JAXRSUtils | pache.cxf.jaxrs.utils.JAXRSUtils 396 | No method match, method name : deleteIncident, request path : /incidents, method @Path : /incidents/{id}/, HTTP Method : POST, method HTTP Method : DELETE, ContentType : */*, method @Consumes : */*,, Accept : application/xml,, method @Produces : */*,. 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 10:59:44,163 | WARN | ervice/incidents | WebApplicationExceptionMapper | pl.WebApplicationExceptionMapper 52 | WebApplicationException has been caught : cause is javax.xml.stream.XMLStreamException 10:59:44,163 | DEBUG | ervice/incidents | PhaseInterceptorChain | .cxf.phase.PhaseInterceptorChain 233 | Invoking handleMessage on interceptor org.apache.cxf.interceptor.onewayprocessorintercep...@2332b6 10:59:44,179 | DEBUG | ervice/incidents | PhaseInterceptorChain | .cxf.phase.PhaseInterceptorChain 233 | Invoking handleMessage on interceptor org.apache.cxf.interceptor.serviceinvokerintercep...@d66992 10:59:44,179 | DEBUG | ervice/incidents | PhaseInterceptorChain | .cxf.phase.PhaseInterceptorChain 233 | Invoking handleMessage on interceptor org.apache.cxf.interceptor.outgoingchainintercep...@ad0636 10:59:44,179 | DEBUG | ervice/incidents | OutgoingChainInterceptor | rceptor.OutgoingChainInterceptor 163 | Interceptors contributed by bus: [] 10:59:44,179 | DEBUG | ervice/incidents | OutgoingChainInterceptor | rceptor.OutgoingChainInterceptor 167 | Interceptors contributed by service: [] 10:59:44,179 | DEBUG | ervice/incidents | OutgoingChainInterceptor | rceptor.OutgoingChainInterceptor 171 | Interceptors contributed by endpoint: [org.apache.cxf.interceptor.messagesenderintercep...@172f5d6] 10:59:44,179 | DEBUG | ervice/incidents | OutgoingChainInterceptor | rceptor.OutgoingChainInterceptor 177 | Interceptors contributed by binding: [org.apache.cxf.jaxrs.interceptor.jaxrsoutintercep...@69dc53] 10:59:44,179 | DEBUG | ervice/incidents | PhaseInterceptorChain | .cxf.phase.PhaseInterceptorChain 587 | Chain org.apache.cxf.phase.phaseinterceptorch...@1ffe90d was created. Current flow: prepare-send [MessageSenderInterceptor] marshal [JAXRSOutInterceptor] {code} > 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.