camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Beryozkin <sberyoz...@gmail.com>
Subject Re: Camel CXFRS endpoint unable to produce JSON
Date Sun, 30 Jun 2013 15:41:49 GMT
Hi Christian,

Thanks for this tip, FYI, CXF will try to use JSON provider (with the 
default configuration) if it has not been explicitly configured 
(example, a namespace map may be not strictly needed, etc). I wonder, if 
in this specific case,
HTTP Accept header is actually set to application/xml, so the fact the 
service can produce JSON is ignored, not really sure though

Cheers, Sergey
On 29/06/13 14:45, Christian Müller wrote:
> You have to tell CXF to use JSON. We do this with the following
> configuration:
>
> <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable">
>      <entry key="http://www.myCompany.com/product/service/model/1"
> value="m"/>
> </util:map>
>
> <jaxrs:server id="jaxrsServer"
>      address="${jaxrsServerEndpointUri}"
>      staticSubresourceResolution="true">
>
>      <jaxrs:serviceBeans>
>          <bean
> class="com.company.productname.servicename.services.jaxrs.XYZResourceImpl"
> />
>      </jaxrs:serviceBeans>
>
>      <jaxrs:providers>
>          <bean class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>              <property name="namespaceMap" ref="jsonNamespaceMap" />
>          </bean>
>          <bean class="org.apache.cxf.jaxrs.provider.JAXBElementProvider" />
>      </jaxrs:providers>
> </jaxrs:server>
>
> You can read more about it here:
> http://cxf.apache.org/docs/jax-rs-data-bindings.html
>
> Best,
> Christian
> -----------------
>
> Software Integration Specialist
>
> Apache Camel committer: https://camel.apache.org/team
> V.P. Apache Camel: https://www.apache.org/foundation/
> Apache Member: https://www.apache.org/foundation/members.html
>
> https://www.linkedin.com/pub/christian-mueller/11/551/642
>
>
> On Fri, Jun 28, 2013 at 8:55 PM, ajaysam <ajay.samant@gmail.com> wrote:
>
>> I have a resource class with method defined like this
>> @Produces({"application/json"})
>>          public Response getMessage(
>>                          @PathParam("referenceTypeName") String name,
>> @QueryParam("")
>> ReferenceDataRequest query)
>> {
>>     return null
>> }
>>
>> Then i have applicationcontext.xml for camel as shown below:
>>
>> - <jaxrs:server id="restService" staticSubresourceResolution="true">
>> -  <jaxrs:serviceBeans>
>>        <ref bean="restResource" />
>>    </jaxrs:serviceBeans>
>> - <jaxrs:providers>
>>    <ref bean="cxfJaxrsJsonProvider" />
>>       </jaxrs:providers>
>>    </jaxrs:server>
>>
>>   <bean id="cxfJaxrsJsonProvider"
>> class="org.apache.cxf.jaxrs.provider.json.JSONProvider" />
>>   <bean id="restResource" class="com.bms.web.HelloResource" />
>>
>>
>>
>>
>> - <cxf:rsServer id="HelloRsServer" serviceClass="com.bms.web.HelloResource"
>> loggingFeatureEnabled="true">
>>
>>    </cxf:rsServer>
>>
>>
>> - <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>
>>
>> My Processor is doing
>>
>> in.setbody(Response.ok(pojoobject).build());
>>
>> i m not getting json output..i m getting only xml output
>>
>>
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://camel.465427.n5.nabble.com/Camel-CXFRS-endpoint-unable-to-produce-JSON-tp5734967.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>


Mime
View raw message