Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-12848

High bit characters causing webservice axisfaults encoding exception

    XMLWordPrintable

Details

    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

        1. screenshot-1.jpg
          screenshot-1.jpg
          127 kB
        2. RemoteSearchResult.java
          2 kB
        3. RemoteSearchResult.class
          3 kB
        4. PagesSoapService.java
          24 kB
        5. PagesSoapService.class
          24 kB

        Issue Links

          Activity

            People

              dtaylor David Taylor (Inactive)
              ivan@atlassian.com Ivan Benko [Atlassian]
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: