venkat 2005/07/05 23:10:07
Modified: java/src/org/apache/axis/components/encoding UTF8Encoder.java AbstractXMLEncoder.java UTF16Encoder.java java/src/org/apache/axis/i18n resource.properties Log: Partial fix for AXIS-2025 for avoiding runtime exception during construction of AxisFault object - don't put the un-encoded invalid character again into the fault string. Revision Changes Path 1.5 +1 -1 ws-axis/java/src/org/apache/axis/components/encoding/UTF8Encoder.java Index: UTF8Encoder.java =================================================================== RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/components/encoding/UTF8Encoder.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- UTF8Encoder.java 4 Nov 2004 18:23:12 -0000 1.4 +++ UTF8Encoder.java 6 Jul 2005 06:10:06 -0000 1.5 @@ -81,7 +81,7 @@ throw new IllegalArgumentException(Messages.getMessage( "invalidXmlCharacter00", Integer.toHexString(character), - xmlString)); + xmlString.substring(0, i))); } else if (character > 0x7F) { writer.write("&#x"); writer.write(Integer.toHexString(character).toUpperCase()); 1.7 +1 -1 ws-axis/java/src/org/apache/axis/components/encoding/AbstractXMLEncoder.java Index: AbstractXMLEncoder.java =================================================================== RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/components/encoding/AbstractXMLEncoder.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- AbstractXMLEncoder.java 26 Apr 2004 11:51:43 -0000 1.6 +++ AbstractXMLEncoder.java 6 Jul 2005 06:10:07 -0000 1.7 @@ -107,7 +107,7 @@ break; default: if (character < 0x20) { - throw new IllegalArgumentException(Messages.getMessage("invalidXmlCharacter00", Integer.toHexString(character), xmlString)); + throw new IllegalArgumentException(Messages.getMessage("invalidXmlCharacter00", Integer.toHexString(character), xmlString.substring(0, i))); } else { if (out != null) { out.append(character); 1.5 +1 -1 ws-axis/java/src/org/apache/axis/components/encoding/UTF16Encoder.java Index: UTF16Encoder.java =================================================================== RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/components/encoding/UTF16Encoder.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- UTF16Encoder.java 4 Nov 2004 18:23:12 -0000 1.4 +++ UTF16Encoder.java 6 Jul 2005 06:10:07 -0000 1.5 @@ -80,7 +80,7 @@ throw new IllegalArgumentException(Messages.getMessage( "invalidXmlCharacter00", Integer.toHexString(character), - xmlString)); + xmlString.substring(0, i))); } else if (character > 0xFFFF) { writer.write((0xD7C0 + (character >> 10))); writer.write((0xDC00 | character & 0x3FF)); 1.121 +1 -1 ws-axis/java/src/org/apache/axis/i18n/resource.properties Index: resource.properties =================================================================== RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/i18n/resource.properties,v retrieving revision 1.120 retrieving revision 1.121 diff -u -r1.120 -r1.121 --- resource.properties 13 Jun 2005 13:00:10 -0000 1.120 +++ resource.properties 6 Jul 2005 06:10:07 -0000 1.121 @@ -226,7 +226,7 @@ invalidWSDD00=Invalid WSDD element ''{0}'' (wanted ''{1}'') -invalidXmlCharacter00=The char ''0x{0}'' in ''{1}'' is not a valid XML character. +invalidXmlCharacter00=The char ''0x{0}'' after ''{1}'' is not a valid XML character. # NOTE: in invokeGet00, do no translate "GET" invokeGet00=invoking via GET