Got HTTP status code: 400 if I set a Chinese character to a camel Header value
Issue
- When I set a Chinese character to a camel Header value like:
public void process( Exchange exchange ) throws Exception {
//String beReturnDesc = "交易成功 ";
//String beReturnDesc = "交易成功";
String beReturnDesc = "Success!";
exchange.getIn().setHeader("RETURNDESC", beReturnDesc);
}
- I got HTTP status code: 400. The error like:
16:29:59.673 [qtp1585813544-46] WARN org.eclipse.jetty.http.HttpParser - Illegal character 0x10 in state=HEADER_VALUE for buffer HeapByteBuffer@4eacbed6[p=151,l=335,c=8192,r=184]={POST /fuse/eai-te...\r\nRETURNDESC: \x10<<<\r\nContent-Length:...deflate\r\n\r\nTEST>>>\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00}
16:29:59.673 [qtp1585813544-46] WARN org.eclipse.jetty.http.HttpParser - badMessage: 400 Illegal character 0x10 for HttpChannelOverHttp@6b81d628{r=0,c=false,a=IDLE,uri=/fuse/eai-test}
Environment
- Red Hat Fuse 6.X
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.