Hi All,
We have a REST API sitting behind Knox and some of the endpoints in our API
return JSON with utf-8. Specifically we are prefixing some labels with UTF-8
charcters to test translation capabilities. I am noticing that when we access
these endpoints through knox our UTF-8 characters are malformed. When we access
our API directly there is no issues.
I turned up logging in knox to see if I could capture what was going wrong but
I didn’t find much. I see that the request is made to the knox gateway, it’s
properly forwarded to the end point behind the gateway. Looking at the data on
the wire I see that the correct utf-8 encodings are being returned from our end
point. I don’t see any logging for what was returned after knox rewrote the
response. Is there anyway to enable this logging?
Here is a snippet of the log showing the encoding:
2016-03-02 23:00:55,269 DEBUG http.wire (Wire.java:wire(72)) - http-outgoing-3
<< "HTTP/1.1 200 OK[\r][\n]"
2016-03-02 23:00:55,269 DEBUG http.wire (Wire.java:wire(72)) - http-outgoing-3
<< "X-Powered-By: Servlet/3.0[\r][\n]"
2016-03-02 23:00:55,270 DEBUG http.wire (Wire.java:wire(72)) - http-outgoing-3
<< "Content-Type: application/json[\r][\n]"
2016-03-02 23:00:55,270 DEBUG http.wire (Wire.java:wire(72)) - http-outgoing-3
<< "Content-Length: 17560[\r][\n]"
2016-03-02 23:00:55,270 DEBUG http.wire (Wire.java:wire(72)) - http-outgoing-3
<< "Date: Thu, 03 Mar 2016 04:00:55 GMT[\r][\n]"
2016-03-02 23:00:55,270 DEBUG http.wire (Wire.java:wire(72)) - http-outgoing-3
<< "[\r][\n]"
2016-03-02 23:00:55,271 DEBUG http.wire (Wire.java:wire(86)) - http-outgoing-3
<<
"[{"numBuckets":3,"version":1,"standardizedAttributes":[{"version":1,"cmproleId":451,"stdrole1":29,"stdrole2":0,"dvdargs":"","minwgtfreq":20,"cmprole2Id":0,"stdfuncId":292,"attributeId":331,"equistrcodeId":0,"stdfuncLabel":"[0xc3][0x9f]_Person","anonstrcodeId":4654,"cmapstrcodeId":4662,"attributeLabel":"Per
Business……..
Below is a sample of how the labels are being malformed:
Without Knox (expected output):
“ß_Person"
Through Knox:
"Ã_Person”
-------------
LATIN SMALL LETTER SHARP S
"\u00DF"
is becoming
LATIN CAPITAL LETTER A WITH TILDE
"\u00C3"
Any thoughts on how I might resolve this? Or best way to troubleshoot this
further? Let me know if you require more information about my knox setup and
rewrite rules.
Regards,
Christopher Jackson