Attached are two projects - both are maven projects
One is camel project that makes a call to a service which is another project The servvice that Camel calls is a stubbed version of real service. The url to invoke the camel project is Testing through Curl : C:\curl-7.30.0-ssl-sspi-zlib-static-bin-w32>curl -HAccept:application/json http://localhost:8080/CamelCXFREST-0.0.1-SNAPSHOT/webservices/Hello/States And the output is XML - but we were expecting json. Any help or tips or lead to debug this problem will be help us a lot. I am trying to push Camel in my organization and these small issues become a show stopper for us. As of now the way we got it working - temporary soln - is we added a marshal step after response processor that uses json library to convert to JSON- this is explicit step done by camel - which we dont want to- we wanted Camel taking CXF help / configuration to understand that it needs json output and convert it - rather than Camel bypassing CXF. Anyway we did that on our project - you will not see that last step in this project Thanks Ajay On Tue, Jul 2, 2013 at 3:37 PM, Christian Mueller [via Camel] < ml-node+s465427n5735092...@n5.nabble.com> wrote: > Sure, this will help to digging into the issue. > > Best, > Christian > > Sent from a mobile device > Am 02.07.2013 20:19 schrieb "ajaysam" <[hidden > email]<http://user/SendEmail.jtp?type=node&node=5735092&i=0>>: > > > > Can i send you my maven projects ? > > > > you can take a look at it high level and see if i m really missing > > something basic > > > > > > > > On Mon, Jul 1, 2013 at 4:00 PM, Sergey Beryozkin-3 [via Camel] < > > [hidden email] <http://user/SendEmail.jtp?type=node&node=5735092&i=1>> > wrote: > > > > > This is bizarre...Can you please double check the custom code you may > > > have and see if "application/xml" is 'hiding somewhere' ? Can you do a > > > sanity check and confirm it is this endpoint which is being invoked > > > after all ? > > > Any chance you can attach a working route (test) to JIRA ? > > > > > > Cheers, Sergey > > > > > > On 01/07/13 17:19, ajaysam wrote: > > > > > > > application/xml always works.. > > > > even if i am saying Produces json i still get output as xml > > > > > > > > > > > > > > > > > > > > On Mon, Jul 1, 2013 at 12:01 PM, Sergey Beryozkin-3 [via Camel] < > > > > [hidden email] <http://user/SendEmail.jtp?type=node&node=5735057&i=0>> > > > > wrote: > > > > > > > >> So, if you replace all of @Produces("application/json") with > > > >> @Produces("application/xml") > > > >> > > > >> and do > > > >> > > > >> curl -HAccept:application/xml ... > > > >> > > > >> then it works ? > > > >> > > > >> Sergey > > > >> > > > >> On 01/07/13 16:40, ajaysam wrote: > > > >> > > > >>> I am sending the request through curl - it is setting Accept > header > > as > > > >> shown > > > >>> below > > > >>> > > > >>> curl -HAccept:application/json > > > >>> > > > >> > > > > > > http://pocman2.nsp.stf.bms.com:8080/CXF_REST-0.0.1-SNAPSHOT/webservices/Hello/SilpaY > > > >>> > > > >>> Hello is the path to refer to resource class > > > >>> > > > >>> We are stuck in this project and any help will be appreciated. > > > >>> > > > >>> At high level this is what the project is about > > > >>> 1. Camel exposes a REST endpoint thru CXFRS - this part works > > > >>> 2. We get the request data in POJO format - camel makes SOAP call > to > > > >> another > > > >>> web service passing this POJO > > > >>> 3. We get the response back from that service > > > >>> 4. Response POJO needs to be converted to JSON > > > >>> > > > >>> As of now as a workaround in last step - we are using marshal step > of > > > >> camel > > > >>> to explicitly convert from POJO to JSON - and that works - but we > > dont > > > >> want > > > >>> to do it that way > > > >>> > > > >>> We thought just doing return Response.ok(resp).build(); from > > Processor > > > >>> should work > > > >>> > > > >>> We did all the configuration required as explained in article > > > >>> > > > >>> Our resource class says @Produces MediaType.Application_JSON > > > >>> Also provided the json provider to cxfrs configuration > > > >>> > > > >>> Now what else needs to be done? > > > >>> > > > >>> > > > >>> Can i send the application-context.xml file and Resource file to > you > > > >>> somehow..maybe i m missing something fundamental > > > >>> > > > >>> > > > >>> attached is the xml section > > > >>> > > > >>> - <util:list id="jsonTypes"> > > > >>> <value>application/json</value> > > > >>> </util:list> > > > >>> - <bean id="cxfJaxrsJsonProvider" > > > >>> class="org.apache.cxf.jaxrs.provider.json.JSONProvider"> > > > >>> <property name="namespaceMap" ref="jsonNamespaceMap" /> > > > >>> <property name="produceMediaTypes" ref="jsonTypes" /> > > > >>> </bean> > > > >>> <bean id="restResource" class="com.bms.web.HelloResource" /> > > > >>> - <jaxrs:server id="restService" > staticSubresourceResolution="true"> > > > >>> - <jaxrs:serviceBeans> > > > >>> <ref bean="restResource" /> > > > >>> </jaxrs:serviceBeans> > > > >>> - <jaxrs:providers> > > > >>> <ref bean="cxfJaxrsJsonProvider" /> > > > >>> <bean > class="org.apache.cxf.jaxrs.provider.JAXBElementProvider" > > /> > > > >>> </jaxrs:providers> > > > >>> </jaxrs:server> > > > >>> > > > >>> <bean id="restRespProcessor" > > > class="com.bms.web.RESTResponseProcessor" > > > >> /> > > > >>> > > > >>> <cxf:rsServer id="HelloRsServer" > > > >> serviceClass="com.bms.web.HelloResource" > > > >>> loggingFeatureEnabled="true" /> > > > >>> > > > >>> <camelContext xmlns="http://camel.apache.org/schema/spring"> > > > >>> > > > >>> > > > >>> <route id="restToSoap" streamCache="true"> > > > >>> <from > > > >> uri="cxfrs://bean://HelloRsServer?bindingStyle=SimpleConsumer" > > > >>> /> > > > >>> <log message="**************** Got ${headers}" /> > > > >>> <log message="**************** Got Body 111 : ${body}" /> > > > >>> <to uri="bean:reqProcessor" /> > > > >>> <log message="**************** Got Headers 222 : ${headers}" > /> > > > >>> <log message="**************** Got Body 333 : ${body}" /> > > > >>> <to uri="cxf:bean:target_hello"/> > > > >>> <log message="**************** Got Body 444 : ${body}" /> > > > >>> <to uri="bean:restRespProcessor" /> > > > >>> <log message="**************** Got Body 555 : ${body}" /> > > > >>> </route> > > > >>> > > > >>> </camelContext> > > > >>> > > > >>> the the response processor does this > > > >>> > > > >>> MessageContentsList msgList = > > > >> (MessageContentsList)exchg.getIn().getBody(); > > > >>> > > > >>> GetReferenceDataResponse resp = (GetReferenceDataResponse) > > > >> msgList.get(0); > > > >>> exchg.getOut().setBody(Response.ok(resp).build()); > > > >>> > > > >>> > > > >>> Resource File is > > > >>> > > > >>> @Path("/Hello") > > > >>> @Produces({"application/json"}) > > > >>> public class HelloResource { > > > >>> public HelloResource() {} > > > >>> > > > >>> @GET > > > >>> @Path("/{referenceTypeName}") > > > >>> //@Produces({MediaType.APPLICATION_XML, > MediaType.APPLICATION_JSON}) > > > >>> @Produces({MediaType.APPLICATION_JSON}) > > > >>> public Response getMessage( > > > >>> @PathParam("referenceTypeName") String name, @QueryParam("") > > > >>> ReferenceDataRequest query) { > > > >>> System.out.println("Hello, i am here !!! In HelloResource ....... > > > >> updated > > > >>> 7.1.13"); > > > >>> > > > >>> return null; > > > >>> } > > > >>> } > > > >>> > > > >>> > > > >>> > > > >>> > > > >>> -- > > > >>> View this message in context: > > > >> > > > > > > http://camel.465427.n5.nabble.com/Camel-CXFRS-endpoint-unable-to-produce-JSON-tp5734967p5735046.html > > > >> > > > >>> Sent from the Camel - Users mailing list archive at Nabble.com. > > > >>> > > > >> > > > >> > > > >> > > > >> > > > >> ------------------------------ > > > >> If you reply to this email, your message will be added to the > > > discussion > > > >> below: > > > >> > > > >> > > > > > > http://camel.465427.n5.nabble.com/Camel-CXFRS-endpoint-unable-to-produce-JSON-tp5734967p5735049.html > > > >> To unsubscribe from Camel CXFRS endpoint unable to produce JSON, > > > click > > > >> here< > > > > > > >> . > > > >> NAML< > > > > > > http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > -- > > > > View this message in context: > > > > > > http://camel.465427.n5.nabble.com/Camel-CXFRS-endpoint-unable-to-produce-JSON-tp5734967p5735050.html > > > > > > > Sent from the Camel - Users mailing list archive at Nabble.com. > > > > > > > > > > > > > -- > > > Sergey Beryozkin > > > > > > Talend Community Coders > > > http://coders.talend.com/ > > > > > > Blog: http://sberyozkin.blogspot.com > > > > > > > > > ------------------------------ > > > If you reply to this email, your message will be added to the > discussion > > > below: > > > > > > > > > http://camel.465427.n5.nabble.com/Camel-CXFRS-endpoint-unable-to-produce-JSON-tp5734967p5735057.html > > > To unsubscribe from Camel CXFRS endpoint unable to produce JSON, > click > > > here< > > > > > > . > > > NAML< > > > http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml > > > > > > > > > > > > > > > > -- > > View this message in context: > > > http://camel.465427.n5.nabble.com/Camel-CXFRS-endpoint-unable-to-produce-JSON-tp5734967p5735089.html > > > Sent from the Camel - Users mailing list archive at Nabble.com. > > > ------------------------------ > If you reply to this email, your message will be added to the discussion > below: > > http://camel.465427.n5.nabble.com/Camel-CXFRS-endpoint-unable-to-produce-JSON-tp5734967p5735092.html > To unsubscribe from Camel CXFRS endpoint unable to produce JSON, click > here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5734967&code=YWpheS5zYW1hbnRAZ21haWwuY29tfDU3MzQ5Njd8LTIxMTkyODAxMA==> > . > NAML<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> > CamelCXFREST.zip (609K) <http://camel.465427.n5.nabble.com/attachment/5735203/0/CamelCXFREST.zip> RDMReferenceDataService.zip (604K) <http://camel.465427.n5.nabble.com/attachment/5735203/1/RDMReferenceDataService.zip> -- View this message in context: http://camel.465427.n5.nabble.com/Camel-CXFRS-endpoint-unable-to-produce-JSON-tp5734967p5735203.html Sent from the Camel - Users mailing list archive at Nabble.com.