Mule esb String to Object conversion



I am sorryif this is a basic question. I am completely new to Mule ESB. I am sending a JSON data esb using HTTP. I am converting to XML using JSON To XML. These are successfully comepleted. But when i try to retrieve some element of JSON data,it is showing error "Message payload is of type: String". ====flow start====



<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8087" doc:name="HTTP" path="contoxml"/>
<logger message="First: #[message.payload.username]" level="INFO" doc:name="Logger"/>
<byte-array-to-object-transformer doc:name="Byte Array to Object"/>
<set-session-variable variableName="json_data" value="#[payload]" doc:name="Session Variable"/>
<logger message="#[message]" level="INFO" doc:name="Logger"/>
<json:json-to-xml-transformer ignoreBadInput="true" mimeType="text/xml" doc:name="JSON to XML"/>
<response>
<set-payload value="#[json_data]" doc:name="Set Payload"/>
</response>
<logger message="TestHow are you #[payload] " level="INFO" doc:name="Logger"/>
<logger message=" original data is: #[json_data] " level="INFO" doc:name="Logger"/>
<set-session-variable variableName="xml_data" value="#[payload]" doc:name="Session Variable"/>
<response>
<logger message="last---&gt; #[payload.User]" level="INFO" doc:name="Logger"/>
</response>
<response>
<json:json-to-object-transformer doc:name="JSON to Object"/>
</response>
<db:insert config-ref="MySQL_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[insert into quote_data(CREATED_DATE,QUOTE_DATA_IN_XML) values (#[new Date()],#[payload] );]]></db:parameterized-query>
</db:insert>
<response>
<mulexml:xml-to-object-transformer returnClass="java.lang.Object" doc:name="XML to Object"/>
</response>
<logger message="How are you #[payload]" level="INFO" doc:name="Copy_of_Logger"/>
</flow>*


===Flow end======


Input JSON Data: {"User":{"balance":49855.21,"num":445,"username":"Test_User","age":25}}


I would like to retrieve any of above JSON elements. for example from input data I may need username or age etc.,..


No comments:

Post a Comment