Illegal XML characters cause AXIS Servlet crash
-----------------------------------------------
Key: AXIS-2328
URL: http://issues.apache.org/jira/browse/AXIS-2328
Project: Apache Axis
Type: Bug
Components: Serialization/Deserialization
Versions: 1.2.1, 1.3
Environment: Windows XP Service Pack 2, JBoss 3.0.4, tomcat 4.0.6
Reporter: Pawel Radecki
Priority: Critical
When AXIS tries to return String value with illegal XML characters (see:
http://schemas.monster.com/ISO8859andCP1252.TXT; for me it were: 0x19, 0x1c) it
crashes showing message:
AXIS error
Sorry, something seems to have gone wrong... here are the details:
Fault - ; nested exception is:
java.io.IOException: java.lang.IllegalArgumentException: The char
'0x19' after 'bla bla' is not a valid XML character.
Stack trace:
17:58:02,281 ERROR [BeanSerializer] Exception:
java.lang.IllegalArgumentException: The char '0x19' after 'blabla' is not a
valid XML character.
at
org.apache.axis.components.encoding.UTF8Encoder.writeEncoded(UTF8Encoder.java:81)
at
org.apache.axis.encoding.SerializationContext.writeSafeString(SerializationContext.java:1287)
at
org.apache.axis.encoding.ser.SimpleSerializer.serialize(SimpleSerializer.java:104)
at
org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1502)
at
org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:978)
at
org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:732)
at
org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer.java:230)
at
org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1502)
at
org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:978)
at
org.apache.axis.encoding.SerializationContext.outputMultiRefs(SerializationContext.java:1053)
at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:145)
at
org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:478)
at
org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:315)
at org.apache.axis.SOAPPart.getAsString(SOAPPart.java:632)
at org.apache.axis.Message.getSOAPPartAsString(Message.java:412)
at
org.apache.axis.transport.http.QSMethodHandler.invokeEndpointFromGet(QSMethodHandler.java:168)
at
org.apache.axis.transport.http.QSMethodHandler.invoke(QSMethodHandler.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1226)
at
org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:249)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
com.globogift.ffwebservices.servlet.filter.OnlyHttpsAllowedFilter.doFilter(OnlyHttpsAllowedFilter.java:41)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
com.globogift.ffwebservices.servlet.filter.OnlyHttpsAllowedFilter.doFilter(OnlyHttpsAllowedFilter.java:41)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:531)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.java:534)
Please advice!
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira