Repository: cxf Updated Branches: refs/heads/master cc674df55 -> b4436e582
[CXF-5711] SOAP 1.2 fault reason xml:lang attribtue should follow XML standard Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/b4436e58 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/b4436e58 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/b4436e58 Branch: refs/heads/master Commit: b4436e582d68ffc5322d9b8aca4d0b8afd53ff46 Parents: cc674df Author: Akitoshi Yoshida <[email protected]> Authored: Tue Apr 29 12:36:56 2014 +0200 Committer: Akitoshi Yoshida <[email protected]> Committed: Tue Apr 29 14:06:19 2014 +0200 ---------------------------------------------------------------------- .../main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java | 11 ++++++++++- .../cxf/jaxws/interceptors/WebFaultOutInterceptor.java | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/b4436e58/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java index 9b3f2f0..8a92c28 100644 --- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java +++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java @@ -27,6 +27,7 @@ import java.net.HttpURLConnection; import java.util.Locale; import java.util.Map; import java.util.concurrent.Future; +import java.util.logging.Level; import java.util.logging.Logger; import javax.xml.namespace.QName; @@ -257,7 +258,15 @@ public class JaxWsClientProxy extends org.apache.cxf.frontend.ClientProxy implem } private static Locale stringToLocale(String locale) { - String parts[] = locale.split("_", -1); + // use the IETF BCP 47 delimiter but accept the toString delimiter for cxf 2.7.x + final String ch; + if (locale.indexOf('_') > 0) { + LOG.log(Level.WARNING, "invalid IETF BCP 47 language tag: {0}", locale); + ch = "_"; + } else { + ch = "-"; + } + String parts[] = locale.split(ch, 0); if (parts.length == 1) { return new Locale(parts[0]); } else if (parts.length == 2) { http://git-wip-us.apache.org/repos/asf/cxf/blob/b4436e58/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WebFaultOutInterceptor.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WebFaultOutInterceptor.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WebFaultOutInterceptor.java index 92f0951..882e9d2 100644 --- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WebFaultOutInterceptor.java +++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WebFaultOutInterceptor.java @@ -105,7 +105,7 @@ public class WebFaultOutInterceptor extends FaultOutInterceptor { String convertedLang = lang.getLanguage(); String country = lang.getCountry(); if (country.length() > 0) { - convertedLang = convertedLang + '_' + country; + convertedLang = convertedLang + '-' + country; } f.setLang(convertedLang); }
