You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ro...@apache.org on 2007/06/25 23:37:59 UTC
svn commit: r550616 -
/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/XMLFaultUtils.java
Author: rott
Date: Mon Jun 25 14:37:58 2007
New Revision: 550616
URL: http://svn.apache.org/viewvc?view=rev&rev=550616
Log:
XMLFaultUtils setting fault reason locale incorrectly according to soap spec
Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/XMLFaultUtils.java
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/XMLFaultUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/XMLFaultUtils.java?view=diff&rev=550616&r1=550615&r2=550616
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/XMLFaultUtils.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/XMLFaultUtils.java Mon Jun 25 14:37:58 2007
@@ -260,8 +260,7 @@
// TODO what if this fails
String text = soapFault.getFaultString();
Locale locale = soapFault.getFaultStringLocale();
- String lang = (locale == null) ? Locale.getDefault().getLanguage() : locale.getLanguage();
- XMLFaultReason reason = new XMLFaultReason(text, lang);
+ XMLFaultReason reason = new XMLFaultReason(text, localeToXmlLang(locale));
// Construct the XMLFault from the required information (code, reason, detail blocks)
XMLFault xmlFault = new XMLFault(code, reason, detailBlocks);
@@ -299,8 +298,7 @@
first = false;
} else {
text = soapFault.getFaultReasonText(locale);
- lang = locale.getLanguage();
- list.add(new XMLFaultReason(text, lang));
+ list.add(new XMLFaultReason(text, localeToXmlLang(locale)));
}
}
if (list.size() > 0) {
@@ -635,5 +633,24 @@
return soapFault;
+ }
+
+ /**
+ * Converte a Locale object to an xmlLang String
+ * @param locale
+ * @return String of the form <locale.getLanguage()>-<locale.getCountry()>
+ */
+ private static String localeToXmlLang(Locale locale) {
+ if (locale == null) {
+ return Locale.getDefault().getLanguage() + "-" + Locale.getDefault().getCountry();
+ }
+ String lang = locale.getLanguage();
+ String countryCode = locale.getCountry();
+ if (countryCode == null || countryCode.length() == 0) {
+ return lang;
+ } else {
+ return new String(lang + "-" + countryCode);
+ }
+
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org