Uploaded image for project: 'JBoss Web Services'
  1. JBoss Web Services
  2. JBWS-419

Thread safety issues in WSDLRequestHandler

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • jboss-ws4ee-4.0.3
    • None
    • None
    • None

      Under heavy load the following occurs:

      2005-09-09 10:44:05,345 ERROR [org.jboss.webservice.server.InvokerProvider] Cannot process WSDL document
      java.lang.NullPointerException
      at org.apache.xerces.dom.ParentNode.nodeListItem(Unknown Source)
      at org.apache.xerces.dom.ParentNode.item(Unknown Source)
      at com.ibm.wsdl.util.xml.DOM2Writer.print(Unknown Source)
      at com.ibm.wsdl.util.xml.DOM2Writer.print(Unknown Source)
      at com.ibm.wsdl.util.xml.DOM2Writer.print(Unknown Source)
      at com.ibm.wsdl.util.xml.DOM2Writer.print(Unknown Source)
      at com.ibm.wsdl.util.xml.DOM2Writer.serializeAsXML(Unknown Source)
      at javax.wsdl.extensions.UnknownExtensionSerializer.marshall(Unknown Source)
      at com.ibm.wsdl.xml.WSDLWriterImpl.printExtensibilityElements(Unknown Source)
      at com.ibm.wsdl.xml.WSDLWriterImpl.printTypes(Unknown Source)
      at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition(Unknown Source)
      at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
      at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
      at org.jboss.webservice.server.WSDLRequestHandler.getWSDLDocument(WSDLRequestHandler.java:119)
      at org.jboss.webservice.server.WSDLRequestHandler.getDocumentForPath(WSDLRequestHandler.java:73)
      at org.jboss.webservice.server.InvokerProvider.generateWSDL(InvokerProvider.java:189)
      at org.jboss.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:74)
      at org.jboss.axis.SimpleChain.doVisiting(SimpleChain.java:160)
      at org.jboss.axis.SimpleChain.generateWSDL(SimpleChain.java:143)
      at org.jboss.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.java:426)
      at org.jboss.axis.server.AxisServer.generateWSDL(AxisServer.java:555)
      at org.jboss.webservice.server.AbstractServlet.processWsdlRequest(AbstractServlet.java:138)
      at org.jboss.webservice.server.ServiceEndpointServlet.doGet(ServiceEndpointServlet.java:108)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
      at org.jboss.axis.transport.http.AxisServletBase.service(AxisServletBase.java:370)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

      This is because the WSDL handling system reuses javax.wsdl.Definition objects across threads, which are not thread safe, because they internally use DOM elements.

      -Jason

            jgreene@redhat.com Jason Greene
            jgreene@redhat.com Jason Greene
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: