Details
-
Bug
-
Resolution: Fixed
-
Medium
-
2.5.1
Description
We call confluence search using the webservice / soap search api call. Recently we noticed that some of the searches were causing webservice axisfaults. We investigated and found it was because the search results were including high bit characters that resulted in invalid xml. This caused the webservice to fail on your server side. We would see entries like the stack trace listed below in the system out logs.
This appears to be affecting search when called from the confluence site as well. We see cases where not all results are returned. The error on our client that is calling confluence is catastrophic as it causes the webservice to fail with an AxisFault because the returning xml is invalid.
We've seen these "bad" characters in the summary from word docs, but it is also possible that the page itself has the content although I have not found that specific case yet.
Characters of values higher than 7F.
Aug 21, 2008 9:35:22 AM org.apache.axis.encoding.ser.BeanSerializer serialize
SEVERE: Exception:
java.lang.IllegalArgumentException: The char '0x1c' in 'Configuring LDAP Providers for TeamWorks in JBoss Application Servers
Introduction Authentication and authorization services for TeamWorks are provided by providers ( plugins) in the underlying J2EE application server....' 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:1222)
at org.apache.axis.encoding.ser.SimpleSerializer.serialize(SimpleSerializer.java:104)
at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1426)
at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:914)
at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:702)
at org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer.java:230)
at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1426)
at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:914)
at org.apache.axis.encoding.SerializationContext.outputMultiRefs(SerializationContext.java:989)
at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:145)
at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:477)
at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:315)
at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:269)
at org.apache.axis.SOAPPart.saveChanges(SOAPPart.java:530)
at org.apache.axis.attachments.AttachmentsImpl.getAttachmentCount(AttachmentsImpl.java:519)
at org.apache.axis.Message.getContentType(Message.java:475)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:775)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at com.atlassian.confluence.rpc.soap.AxisSoapServer.service(AxisSoapServer.java:68)
at sun.reflect.GeneratedMethodAccessor356.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
at $Proxy47.service(Unknown Source)
at com.atlassian.confluence.servlet.SpringManagedServlet.service(SpringManagedServlet.java:64)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.atlassian.core.filters.ServletContextThreadLocalFilter.doFilter(ServletContextThreadLocalFilter.java:21)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.atlassian.confluence.util.LoggingContextFilter.doFilter(LoggingContextFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:192)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:110)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.atlassian.confluence.util.ClusterHeaderFilter.doFilter(ClusterHeaderFilter.java:35)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.atlassian.core.filters.gzip.GzipFilter.doFilter(GzipFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Unknown Source)
Attachments
Issue Links
- relates to
-
CONFSERVER-13285 Axis webservice may be asked to deliver invalid XML characters
- Closed