Author: darran.lofthouse(a)jboss.com
Date: 2010-12-17 11:48:44 -0500 (Fri, 17 Dec 2010)
New Revision: 13519
Modified:
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java
Log:
[JBPAPP-5604] CommonSOAPFaultException: org.xml.sax.SAXParseException: Invalid encoding
name UTF8 - Messages rejected.
Modified:
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java
===================================================================
---
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java 2010-12-17
16:12:18 UTC (rev 13518)
+++
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/soap/EnvelopeBuilderDOM.java 2010-12-17
16:48:44 UTC (rev 13519)
@@ -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;
@@ -124,9 +125,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
Show replies by date