好吧,我咬紧牙关。我创建了一个 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;
}
}
然后将其注入上下文
<bean id="payloadEncoder" class="com.wufoo.camel.PayloadEncoder" />
最后使用一个变换来编码身体
<transform>
<method bean="payloadEncoder" method="getEncodedBody"/>
</transform>
这样可行。如果有人能告诉我这种方法有什么问题,请告诉我。