OpenESB can process XML only.
For consume-types=[ "application/json" ] JSON input is automatically converted into XML for further processing and invoke any external partner links if required.
For produce-types=[ "application/json" ] XML data is converted into JSON by OpenESB.
To achieve the same your JSON has to be in a format that when converted to XML, produces valid XML.
For example,
{"name":äbc"} looks like
<name>abc</name> when converted to XML.
JSON input like,
{
"name1":äbc",
"name2":äbc"
}
looks like
<name1>abc</name1>
<name2>abc</name2>
Now name1 and name2 XML elements does not have root element so OpenESB can not process it.
If you give JSON input as
{
"someRootElement":{
"name1":äbc",
"name2":äbc"
}
}
, converted XML would be like,
<someRootElement>
<name1>abc</name1>
<name2>abc</name2>
</someRootElement>
This should work in your case. :)