Hello,

You don't use the Jackson api correctly. You should use one of the
writeValue methods to extract the json.
Best regards
Pontus Ullgren

Send from my phone
Den 1 sep 2012 00:02 skrev "Marco Mistroni" <mmistr...@gmail.com>:

> HI all
>  i have a  Jetty-Json route in my camel-app
>
> i submit JSON via python client, and i should return JSON back.
>
> i am using this configuration:
>
> <camel:route id="Jetty_Sample">
>             <camel:from uri="jetty:http://localhost:8888/myJettyService";
> />
>             <!-- camel:log logName="HTTP LOG" loggingLevel="INFO"
> message="HTTP REQUEST:
>                 ${in.header.bookid}" / -->
>             <camel:process ref="myJettyService" />
>             <camel:marshal ref="jsonFormatter" />
>  </camel:route>
>
> <bean id="jsonFormatter"
> class="org.apache.camel.model.dataformat.JsonDataFormat">
>         <property name="library" value="Jackson" />
>     </bean>
>
>
> THe problem i have is the bean 'myJettyService' is returning a  'complex'
> POJO which is not being marshalled correcly (here's output of my python
> json client)
> org.codehaus.jackson.map.ObjectMapper@11167f3
>
> instead of a json string
>
> here's my java code in the processor
>
>         ObjectMapper mapper = new ObjectMapper();
>         ObjectNode node = mapper.createObjectNode();
>
>         node.put("ticker" , item.getShare().getTicker());
>         node.put("name", item.getShare().getName());
>         node.put("price", item.getShare().getPrice());
>         node.put("latest", item.getLatestPrice().getLatestPrice());
>
>
>
>         if(ptfData != null) {
>             exchange.getOut().setBody(mapper.toString());
>
> Clearly , i am missing something because my ObjectMapper just get
> marshalled into this
> org.codehaus.jackson.map.ObjectMapper@11167f3
>
> instead of
>
> {'ticker': 'myticker', 'name': 'shareName' .... }
>
> could anyone tell me what am i missing?
>
> w/kindest regards
>  marco
>

Reply via email to