I think you didn't escape the quotation marks inside the -d value which is the JSON. Try <to uri="exec:curl?args=--silent --cacert {{cacertFile}} --key {{keyFile}} --cert {{certFile}} -H 'Content-Type: application/json' -X POST {{host}}/tenants -d '{"id":"12353200","name": "tenant1","description": "tenant description"}' -u {{user}} --sslv3"/>
or better - store this json as is in a file "/tmp/1.json", and use --data-binary @/tmp/1.json to send it in curl. On Mon, Sep 28, 2015 at 1:28 PM, Suganya <suga...@gmail.com> wrote: > Hi, > > Thanks for your reply. > > The GET command is working using the exec component. > > But I am stuck with the POST or the PUT command. The input data is in JSON > format. But I am unable to pass it. > > Where am I going wrong? below is the command. > > <to uri="exec:curl?args=--silent --cacert {{cacertFile}} --key {{keyFile}} > --cert {{certFile}} -H 'Content-Type: application/json' -X POST > {{host}}/tenants -d '{"id":"12353200","name": "tenant1","description": > "tenant description"}' -u {{user}} --sslv3"/> > > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/curl-tp5771624p5772053.html > Sent from the Camel - Users mailing list archive at Nabble.com. >