[jbossws-commits] JBossWS SVN: r13518 - stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Fri Dec 17 11:12:18 EST 2010


Author: darran.lofthouse at jboss.com
Date: 2010-12-17 11:12:18 -0500 (Fri, 17 Dec 2010)
New Revision: 13518

Modified:
   stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java
Log:
[JBWS-3190] CommonSOAPFaultException: org.xml.sax.SAXParseException: Invalid encoding name UTF8 - Messages rejected.

Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java	2010-12-17 06:37:50 UTC (rev 13517)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java	2010-12-17 16:12:18 UTC (rev 13518)
@@ -24,6 +24,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.Reader;
+import java.nio.charset.Charset;
 
 import javax.xml.namespace.QName;
 import javax.xml.soap.Name;
@@ -125,9 +126,22 @@
       String encoding = (String)soapMessage.getProperty(SOAPMessage.CHARACTER_SET_ENCODING);
       if (encoding == null)
       {
+         return "UTF-8";
+      }
+
+      try
+      {
+         Charset cs = Charset.forName(encoding);
+         encoding = cs.name();
+      }
+      catch (IllegalArgumentException e)
+      {
+         if (log.isDebugEnabled())
+            log.debug("Unsupported charset '" + encoding + "' switching to 'UTF-8'");
          encoding = "UTF-8";
       }
-      return encoding;  
+
+      return encoding;
    }
    
    public SOAPEnvelope build(SOAPMessage soapMessage, Element domEnv) throws SOAPException



More information about the jbossws-commits mailing list