[ https://issues.apache.org/jira/browse/CXF-6640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Beryozkin resolved CXF-6640. ----------------------------------- Resolution: Fixed Assignee: Sergey Beryozkin Fix Version/s: 3.1.1 > [Locale Issue] HTTP header Issue for IOS 9 + Chinese Language user > ------------------------------------------------------------------ > > Key: CXF-6640 > URL: https://issues.apache.org/jira/browse/CXF-6640 > Project: CXF > Issue Type: Bug > Components: JAX-RS > Affects Versions: 3.1.0 > Environment: Linux Server + Java 7 + IOS 9 + HTTP Req > Reporter: WeiTah CHAI > Assignee: Sergey Beryozkin > Labels: patch > Fix For: 3.1.1 > > Original Estimate: 48h > Remaining Estimate: 48h > > Encountered http language issue in Apple IOS recently: > - After they upgrade to IOS9 > - If they enable Chinese input > When HTTP request initiated from IOS 9, there will have additional HTTP > Header for "Accept-Language", and if the Chinese Input is enable, the header > would look like: "Accept-Language: en-GB;q=1, zh-Hans-SG;q=0.9, en-SG;q=0.8". > Somehow the locale with "variants" is not support in apache CXF, and Illegal > locale exception throw. > - > http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cxf/cxf-rt-frontend-jaxrs/3.1.0/org/apache/cxf/jaxrs/utils/HttpUtils.java/ > > - Line #280. > - Using version 2.7.5 but the same issue still remain in 3.1.0 > Quick fix is much appreciated. Thank you > Sample request: > — > curl -X "POST" "https://xxxxx.itc.xxxx.com/odata/core.svc/Authenticate" \ > -H "User-Agent: xxxx/0.0.1 (iPhone; iOS 9.0.2; Scale/2.00)" \ > -H "Accept-Language: en-GB;q=1, zh-Hans-SG;q=0.9, en-SG;q=0.8" \ > -H "Content-Type: application/json" \ > -H "Accept: application/json; charset=utf-8" \ > -d "{\"Origin\":\"xxxx.internal\\/50 (version 0.0.1; > Cocoa)\",\"Scope\":\"register-anonymous\",\"ProviderName\":\"xxxxx\",\"Device\":{\"Type\":\"iOS\",\"Model\":\"iPhone\",\"OsVersion\":\"9.0.2\",\"OsName\":\"iPhone > OS\"}}" > — > POST /xxxxx/odata/core.svc/Authenticate HTTP/1.1 > Accept: application/json; charset=utf-8 > Content-Type: application/json > Accept-Language: en-GB;q=1, zh-Hans-SG;q=0.9, en-SG;q=0.8 > User-Agent: xxxx/0.0.1 (iPhone; iOS 9.0.2; Scale/2.00) > Host: xxxx.itc.xxx.com > Connection: close > Content-Length: 212 > {"Origin":"xxxxxx.internal\/50 (version 0.0.1; > Cocoa)","Scope":"register-anonymous","ProviderName":"xxxxxxx","Device":{"Type":"iOS","Model":"iPhone","OsVersion":"9.0.2","OsName":"iPhone > OS"}} > Response: > HTTP/1.1 500 Server Error > Server: nginx/1.4.6 (Ubuntu) > Date: Wed, 07 Oct 2015 17:20:08 GMT > Content-Type: text/plain > Content-Length: 40 > Connection: close > Access-Control-Allow-Origin: * > Access-Control-Allow-Credentials: true > Exception during error handling occurred! -- This message was sent by Atlassian JIRA (v6.3.4#6332)