Ok, I bit the bullet. I created java POJO
package com.wufoo.camel; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import org.apache.log4j.Logger; public class PayloadEncoder { public String getEncodedBody(String body) throws UnsupportedEncodingException { Logger mylogger = Logger.getLogger("log4j.logger.org.apache.camel"); mylogger.info("Appending payload and URL Encoding"); String encodedBody = new StringBuffer() .append("payload=") .append(URLEncoder.encode(body, "UTF-8")).toString(); return encodedBody; } }
Then introduced it into context
<bean id="payloadEncoder" class="com.wufoo.camel.PayloadEncoder" />
And finally, a transform is used to encode the body
<transform> <method bean="payloadEncoder" method="getEncodedBody"/> </transform>
It works. If someone tells me what is wrong with this approach, please let me know.
source share