title: java.net.SocketException when sending a heavy request on server
body: <p>I'm facing socket write exception whenever I try to send a heavy request on Jboss server. Our server is running on Windows Server 2008 R2 datacenter. Searched a lot about it but I'm unable to find anything regarding this issue.</p>
  
  <p>I have run the same issue on local server on my Windows 7 machine but it doesn't reproduce at all but whenever I run it on Windows Server 2008 machine it reproduce after 4 to 5 hits of request.</p>
  
  <p>Following is the stack trace of the exception:</p>
  
  <pre><code>2012-12-31 14:33:03,427 SEVERE [com.sun.xml.ws.servlet.http] (http-0.0.0.0-8988-16) caught throwable
  javax.xml.ws.WebServiceException: javax.xml.bind.MarshalException
   - with linked exception:
  [ClientAbortException:  java.net.SocketException: Connection reset by peer: socket write error]
      at com.sun.xml.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:325)
      at com.sun.xml.ws.message.AbstractMessageImpl.writeTo(AbstractMessageImpl.java:142)
      at com.sun.xml.ws.encoding.StreamSOAPCodec.encode(StreamSOAPCodec.java:109)
      at com.sun.xml.ws.encoding.SOAPBindingCodec.encode(SOAPBindingCodec.java:278)
      at com.sun.xml.ws.transport.http.HttpAdapter.encodePacket(HttpAdapter.java:383)
      at com.sun.xml.ws.transport.http.HttpAdapter.access$100(HttpAdapter.java:93)
      at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:529)
      at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:288)
      at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:143)
      at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:155)
      at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:189)
      at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:76)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
      at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
      at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      at java.lang.Thread.run(Thread.java:662)
  Caused by: javax.xml.bind.MarshalException
   - with linked exception:
  [ClientAbortException:  java.net.SocketException: Connection reset by peer: socket write error]
      at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:271)
      at com.sun.xml.bind.v2.runtime.BridgeImpl.marshal(BridgeImpl.java:100)
      at com.sun.xml.bind.api.Bridge.marshal(Bridge.java:141)
      at com.sun.xml.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:317)
      ... 33 more
  Caused by: ClientAbortException:  java.net.SocketException: Connection reset by peer: socket write error
      at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:399)
      at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:449)
      at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
      at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:422)
      at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:411)
      at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
      at com.sun.xml.bind.v2.runtime.output.UTF8XmlOutput.write(UTF8XmlOutput.java:406)
      at com.sun.xml.bind.v2.runtime.output.Encoded.write(Encoded.java:163)
      at com.sun.xml.bind.v2.runtime.output.UTF8XmlOutput.writeName(UTF8XmlOutput.java:235)
      at com.sun.xml.bind.v2.runtime.output.UTF8XmlOutput.endTag(UTF8XmlOutput.java:279)
      at com.sun.xml.bind.v2.runtime.XMLSerializer.leafElement(XMLSerializer.java:326)
      at com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$StringImpl.writeLeafElement(RuntimeBuiltinLeafInfoImpl.java:158)
      at com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor$CompositeTransducedAccessorImpl.writeLeafElement(TransducedAccessor.java:252)
      at com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty.serializeBody(SingleElementLeafProperty.java:121)
      at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:340)
      at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:696)
      at com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.serializeItem(ArrayElementNodeProperty.java:65)
      at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:168)
      at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:155)
      at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:340)
      at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:696)
      at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:264)
      ... 36 more
  Caused by: java.net.SocketException: Connection reset by peer: socket write error
      at java.net.SocketOutputStream.socketWrite0(Native Method)
      at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
      at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
      at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:724)
      at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:449)
      at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
      at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:748)
      at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
      at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:557)
      at org.apache.coyote.Response.doWrite(Response.java:567)
      at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:394)
      ... 57 more
  </code></pre>