Reputation: 5938
My mule flow:
<flow name="classmappingFlow1" doc:name="classmappingFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="${hostname}" port="${port}" path="insertClass" connector-ref="ConnectorWithoutMuleSession" doc:name="HTTP"/>
<jersey:resources doc:name="REST">
<component class="com.mycompany.mulesoft.rest.AccountMappingService"/>
</jersey:resources>
<json:json-to-object-transformer doc:name="JSON to Object"/>
<logger message="Payload======#[payload]" level="INFO" doc:name="Logger"/>
<logger message="=====Company===#[payload.Company]" level="INFO" doc:name="Logger"/>
<db:insert config-ref="Oracle_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[insert into SIAS_CONFIGURATION values(1, 1,1234,#[payload.Company],'Y','N','Y','you',sysdate,'you',sysdate)]]></db:parameterized-query>
</db:insert>
</flow>
Console:
Payload======[{"Company":"KLM","Class":"Y","Location":"N","Department":"Y","EmplId":"1234"}]
=====Company===null
JSON Data:
[
{
"Company":"KLM",
"Class":"Y",
"Location":"N",
"Department":"Y",
"EmplId":"1234"
}
]
Rest Component:
@POST
@Path("/setClass")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String classSettings(@Payload String content){
return content;
}
Issue: I am getting null values and no data(empty) inserted to db
Upvotes: 0
Views: 1006
Reputation: 8311
Use returnClass="java.util.List"
in json:json-to-object-transformer
after jersey:resources like the following :-
<json:json-to-object-transformer returnClass="java.util.List" doc:name="JSON to Object"/>
Upvotes: 1