Hi Peter,
I agree with Eng Swee here and would also suggest to use the REST adapter. Regarding the authorization and custom response, you can achieve both using REST adapter itself. For not using authorization, select the option "Allow public access(no authorization required)" in channel Selection tab of REST channel and for sending back custom response back, you can handle using Error handling tab Result handler, where your Source will be "Always", Action would be Custom Result and then you can provide a response as you want.
Coming back to your query, you can try performing encoding on the message in a UDF and see if that changes the message in the format that you expect.
Regards,
Sanjeev.