You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by ajaysam <aj...@gmail.com> on 2013/07/01 17:40:00 UTC

Re: Camel CXFRS endpoint unable to produce JSON

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.

Re: Camel CXFRS endpoint unable to produce JSON

Posted by ajaysam <aj...@gmail.com>.
Hi

Just wanted to follow up on this thread. After long time i managed to look
at this pending issue.
You had pointed out that Accept was showing "application xml" - we
recreated this problem and this time we are asking for json, log is also
showing that and camel with CXFRS configuration is still spitting out XML..

new log is attached...

Regards
Ajay


On Sun, Jul 7, 2013 at 2:15 PM, Sergey Beryozkin-3 [via Camel] <
ml-node+s465427n5735246h29@n5.nabble.com> wrote:

> I can see the following:
>
> "Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
>
> No JSON is requested
>
> Cheers, Sergey
>
> On 05/07/13 21:45, ajaysam wrote:
>
> > log file is attached
> >
> >
> >
> >
> > On Fri, Jul 5, 2013 at 12:59 PM, Raul Kripalani [via Camel] <
> > [hidden email] <http://user/SendEmail.jtp?type=node&node=5735246&i=0>>
> wrote:
> >
> >> Hi,
> >>
> >> Can you place a log endpoint with the showAll option set to true just
> >> after
> >> this line?
> >>
> >>        <log message="**************** Got Body 555 : ${body}" />
> >>
> >> e.g.  <to uri="log:TEST?showAll=true" />.
> >>
> >> I want to see exactly what the route returns to the CXF stack.
> >>
> >> Thanks,
> >>
> >> *Raúl Kripalani*
> >> Enterprise Architect, Open Source Integration specialist, Program
> >> Manager | Apache
> >> Camel Committer
> >> http://about.me/raulkripalani |
> http://www.linkedin.com/in/raulkripalani
> >> http://blog.raulkr.net | twitter: @raulvk
> >>
> >> On Fri, Jul 5, 2013 at 5:18 PM, ajaysam <[hidden email]<
> http://user/SendEmail.jtp?type=node&node=5735205&i=0>>
> >> wrote:
> >>
> >>> 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] <
> >>> [hidden email] <http://user/SendEmail.jtp?type=node&node=5735205&i=1>>
>
> >> 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<
> >>>>
> >>>> .
> >>>> 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.
> >>>
> >>
> >>
> >> ------------------------------
> >>   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-tp5734967p5735205.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>
>
> >>
> >
> >
> > systemout.log (11K) <
> http://camel.465427.n5.nabble.com/attachment/5735217/0/systemout.log>
> >
> >
> >
> >
> > --
> > View this message in context:
> http://camel.465427.n5.nabble.com/Camel-CXFRS-endpoint-unable-to-produce-JSON-tp5734967p5735217.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-tp5734967p5735246.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>
>


systemout.log (19K) <http://camel.465427.n5.nabble.com/attachment/5737527/0/systemout.log>




--
View this message in context: http://camel.465427.n5.nabble.com/Camel-CXFRS-endpoint-unable-to-produce-JSON-tp5734967p5737527.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel CXFRS endpoint unable to produce JSON

Posted by Sergey Beryozkin <sb...@gmail.com>.
I can see the following:

"Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"

No JSON is requested

Cheers, Sergey

On 05/07/13 21:45, ajaysam wrote:
> log file is attached
>
>
>
>
> On Fri, Jul 5, 2013 at 12:59 PM, Raul Kripalani [via Camel] <
> ml-node+s465427n5735205h58@n5.nabble.com> wrote:
>
>> Hi,
>>
>> Can you place a log endpoint with the showAll option set to true just
>> after
>> this line?
>>
>>        <log message="**************** Got Body 555 : ${body}" />
>>
>> e.g.  <to uri="log:TEST?showAll=true" />.
>>
>> I want to see exactly what the route returns to the CXF stack.
>>
>> Thanks,
>>
>> *Raúl Kripalani*
>> Enterprise Architect, Open Source Integration specialist, Program
>> Manager | Apache
>> Camel Committer
>> http://about.me/raulkripalani | http://www.linkedin.com/in/raulkripalani
>> http://blog.raulkr.net | twitter: @raulvk
>>
>> On Fri, Jul 5, 2013 at 5:18 PM, ajaysam <[hidden email]<http://user/SendEmail.jtp?type=node&node=5735205&i=0>>
>> wrote:
>>
>>> 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] <
>>> [hidden email] <http://user/SendEmail.jtp?type=node&node=5735205&i=1>>
>> 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<
>>>>
>>>> .
>>>> 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.
>>>
>>
>>
>> ------------------------------
>>   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-tp5734967p5735205.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>
>>
>
>
> systemout.log (11K) <http://camel.465427.n5.nabble.com/attachment/5735217/0/systemout.log>
>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Camel-CXFRS-endpoint-unable-to-produce-JSON-tp5734967p5735217.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

Re: Camel CXFRS endpoint unable to produce JSON

Posted by ajaysam <aj...@gmail.com>.
log file is attached




On Fri, Jul 5, 2013 at 12:59 PM, Raul Kripalani [via Camel] <
ml-node+s465427n5735205h58@n5.nabble.com> wrote:

> Hi,
>
> Can you place a log endpoint with the showAll option set to true just
> after
> this line?
>
>       <log message="**************** Got Body 555 : ${body}" />
>
> e.g.  <to uri="log:TEST?showAll=true" />.
>
> I want to see exactly what the route returns to the CXF stack.
>
> Thanks,
>
> *Raúl Kripalani*
> Enterprise Architect, Open Source Integration specialist, Program
> Manager | Apache
> Camel Committer
> http://about.me/raulkripalani | http://www.linkedin.com/in/raulkripalani
> http://blog.raulkr.net | twitter: @raulvk
>
> On Fri, Jul 5, 2013 at 5:18 PM, ajaysam <[hidden email]<http://user/SendEmail.jtp?type=node&node=5735205&i=0>>
> wrote:
>
> > 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] <
> > [hidden email] <http://user/SendEmail.jtp?type=node&node=5735205&i=1>>
> 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<
> > >
> > > .
> > > 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.
> >
>
>
> ------------------------------
>  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-tp5734967p5735205.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>
>


systemout.log (11K) <http://camel.465427.n5.nabble.com/attachment/5735217/0/systemout.log>




--
View this message in context: http://camel.465427.n5.nabble.com/Camel-CXFRS-endpoint-unable-to-produce-JSON-tp5734967p5735217.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel CXFRS endpoint unable to produce JSON

Posted by Raul Kripalani <ra...@evosent.com>.
Hi,

Can you place a log endpoint with the showAll option set to true just after
this line?

      <log message="**************** Got Body 555 : ${body}" />

e.g.  <to uri="log:TEST?showAll=true" />.

I want to see exactly what the route returns to the CXF stack.

Thanks,

*Raúl Kripalani*
Enterprise Architect, Open Source Integration specialist, Program
Manager | Apache
Camel Committer
http://about.me/raulkripalani | http://www.linkedin.com/in/raulkripalani
http://blog.raulkr.net | twitter: @raulvk

On Fri, Jul 5, 2013 at 5:18 PM, ajaysam <aj...@gmail.com> wrote:

> 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+s465427n5735092h55@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.
>

Re: Camel CXFRS endpoint unable to produce JSON

Posted by ajaysam <aj...@gmail.com>.
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+s465427n5735092h55@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.

Re: Camel CXFRS endpoint unable to produce JSON

Posted by Christian Müller <ch...@gmail.com>.
Sure, this will help to digging into the issue.

Best,
Christian

Sent from a mobile device
Am 02.07.2013 20:19 schrieb "ajaysam" <aj...@gmail.com>:

> 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] <
> ml-node+s465427n5735057h70@n5.nabble.com> 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<
> 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
> >
> >
>
>
>
>
> --
> 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.

Re: Camel CXFRS endpoint unable to produce JSON

Posted by ajaysam <aj...@gmail.com>.
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] <
ml-node+s465427n5735057h70@n5.nabble.com> 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<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>
>




--
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.

Re: Camel CXFRS endpoint unable to produce JSON

Posted by Sergey Beryozkin <sb...@gmail.com>.
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] <
> ml-node+s465427n5735049h22@n5.nabble.com> 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<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>
>>
>
>
>
>
> --
> 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

Re: Camel CXFRS endpoint unable to produce JSON

Posted by ajaysam <aj...@gmail.com>.
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] <
ml-node+s465427n5735049h22@n5.nabble.com> 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<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>
>




--
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.

Re: Camel CXFRS endpoint unable to produce JSON

Posted by Sergey Beryozkin <sb...@gmail.com>.
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.
>