Author: scheu Date: Fri Nov 5 19:56:05 2010 New Revision: 1031753 URL: http://svn.apache.org/viewvc?rev=1031753&view=rev Log: AXIS2-4826 Contributor:Rich Scheuerle Corrected original contribution
Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/BOMOutputStreamFilter.java Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/BOMOutputStreamFilter.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/BOMOutputStreamFilter.java?rev=1031753&r1=1031752&r2=1031753&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/BOMOutputStreamFilter.java (original) +++ axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/datasource/jaxb/BOMOutputStreamFilter.java Fri Nov 5 19:56:05 2010 @@ -44,13 +44,9 @@ public class BOMOutputStreamFilter exten super(out); if (encoding == null || encoding.equalsIgnoreCase("UTF-8")) { bomLength = 0; - } else if (encoding.equalsIgnoreCase("UTF-16") || - encoding.equalsIgnoreCase("UTF-16LE") || - encoding.equalsIgnoreCase("UTF-16BE")) { + } else if (encoding.equalsIgnoreCase("UTF-16")) { + // UTF-16LE and UTF-16BE shouldn't have a BOM bomLength = 2; // FF FE or FE FF - } else if (encoding.equalsIgnoreCase("UTF-32")) { - // Currently not valid for SOAP...adding for completeness - bomLength = 4; // 00 00 FE FF or FF FE 00 00 } else { bomLength = 0; @@ -71,12 +67,11 @@ public class BOMOutputStreamFilter exten if (count >= bomLength) { out.write(b); } else { - if (b == 0 || // 0x00 - b == -1 || // 0xFF + if (b == -1 || // 0xFF b == -2) { // 0xFE // skip...this is a BOM character if (log.isDebugEnabled()) { - log.debug("Skipping BOM character " + b); + log.debug("Skipping BOM character " + b + " at position " + count); } } else { out.write(b);