title: Can i use a different parser for Axis 1.4?
body: <p>The current SAX parser takes a lot of time (20 minutes) and heap memory(around 400mb) to deserialize the response coming from the soap server as per the logs. Our response XMLs are of average size 4 mb. </p>
  
  <p>A part of the log when it runs the applicaiton out of heap is below</p>
  
  <pre><code>DEBUG (org.apache.axis.encoding.DeserializationContext) Pushing handler org.apache.axis.message.SOAPHandler@16d22f1
  DEBUG (org.apache.axis.i18n.ProjectResourceBundle) org.apache.axis.i18n.resource::handleGetObject(newElem00)
  DEBUG (org.apache.axis.message.MessageElement) New MessageElement (org.apache.axis.message.MessageElement@112c22) named {}name
  DEBUG (org.apache.axis.encoding.DeserializationContext) Pushing element name
  DEBUG (org.apache.axis.utils.NSStack) NSPush (32)
  DEBUG (org.apache.axis.encoding.DeserializationContext) Exit: DeserializationContext::startElement()
  DEBUG (org.apache.axis.encoding.DeserializationContext) Enter: DeserializationContext::endElement(, name)
  DEBUG (org.apache.axis.i18n.ProjectResourceBundle) org.apache.axis.i18n.resource::handleGetObject(popHandler00)
  DEBUG (org.apache.axis.encoding.DeserializationContext) Popping handler org.apache.axis.message.SOAPHandler@16d22f1
  DEBUG (org.apache.axis.utils.NSStack) NSPop (32)
  DEBUG (org.apache.axis.encoding.DeserializationContext) Popped element stack to org.apache.axis.message.MessageElement:property
  DEBUG (org.apache.axis.encoding.DeserializationContext) Exit: DeserializationContext::endElement()
  DEBUG (org.apache.axis.encoding.DeserializationContext) Enter: DeserializationContext::startElement(, value)
  DEBUG (org.apache.axis.i18n.ProjectResourceBundle) org.apache.axis.i18n.resource::handleGetObject(pushHandler00)
  DEBUG (org.apache.axis.encoding.DeserializationContext) Pushing handler org.apache.axis.message.SOAPHandler@16880ba
  DEBUG (org.apache.axis.i18n.ProjectResourceBundle) org.apache.axis.i18n.resource::handleGetObject(newElem00)
  DEBUG (org.apache.axis.message.MessageElement) New MessageElement (org.apache.axis.message.MessageElement@1db74af) named {}value
  DEBUG (org.apache.axis.encoding.DeserializationContext) Pushing element value
  DEBUG (org.apache.axis.utils.NSStack) NSPush (32)
  DEBUG (org.apache.axis.encoding.DeserializationContext) Exit: DeserializationContext::startElement()
  DEBUG (org.apache.axis.encoding.DeserializationContext) Enter: DeserializationContext::endElement(, value)
  DEBUG (org.apache.axis.i18n.ProjectResourceBundle) org.apache.axis.i18n.resource::handleGetObject(popHandler00)
  DEBUG (org.apache.axis.encoding.DeserializationContext) Popping handler org.apache.axis.message.SOAPHandler@16880ba
  DEBUG (org.apache.axis.utils.NSStack) NSPop (32)
  </code></pre>
  
  <p>I cannot use Axis2 because of technical reasons.</p>
  
  <p>I have tried using HTTP Commons client instead of HTTP client but the response time remains the same. </p>
  
  <p>How can i link a different parser(example xerces 2.10.0 or xstream 1.3.1?) to Axis 1.4 framework in this context so that memory management and response time is favorable?. </p>