- 
        1. Re: Large web service request, connection prematurely closedtinny4u Apr 1, 2009 4:09 AM (in response to tinny4u)In addition... 
 If I do a much smaller request to this same web service it works just fine under JBoss.
- 
        2. Re: Large web service request, connection prematurely closedpeterj Apr 1, 2009 11:04 AM (in response to tinny4u)It does sound like a buffer configuration issue, the question is which buffer and where to configure it. Please post the full stack trace - that might give some clues. 
- 
        3. Re: Large web service request, connection prematurely closedtinny4u Apr 1, 2009 4:08 PM (in response to tinny4u)Here is the full exception logging, what do you think? thanks 
 2009-04-02 19:58:25,670 INFO [STDOUT] [1788637] handler.DefaultFaultHandler Fault occurred!
 org.codehaus.xfire.XFireRuntimeException: Could not read XML stream.. Nested exception is com.ctc.wstx.exc.WstxEOFException: Unexpected end of input block in end tag
 at [row,col {unknown-source}]: [1,1441792]
 com.ctc.wstx.exc.WstxEOFException: Unexpected end of input block in end tag
 at [row,col {unknown-source}]: [1,1441792]
 at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOB(StreamScanner.java:675)
 at com.ctc.wstx.sr.StreamScanner.loadMoreFromCurrent(StreamScanner.java:1029)
 at com.ctc.wstx.sr.StreamScanner.getNextCharFromCurrent(StreamScanner.java:786)
 at com.ctc.wstx.sr.BasicStreamReader.readEndElem(BasicStreamReader.java:3204)
 at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2830)
 at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
 at com.ctc.wstx.sr.BasicStreamReader.getElementText(BasicStreamReader.java:669)
 at org.codehaus.xfire.util.stax.DepthXMLStreamReader.getElementText(DepthXMLStreamReader.java:86)
 at org.codehaus.xfire.util.stax.DepthXMLStreamReader.getElementText(DepthXMLStreamReader.java:86)
 at org.grails.xfire.aegis.stax.ElementReader.getValue(ElementReader.java:122)
 at org.grails.xfire.aegis.type.basic.StringType.readObject(StringType.java:21)
 at org.grails.xfire.aegis.type.basic.BeanType.readObject(BeanType.java:159)
 at org.grails.xfire.aegis.type.basic.ArrayType.readCollection(ArrayType.java:80)
 at org.grails.xfire.aegis.type.basic.ArrayType.readObject(ArrayType.java:48)
 at org.grails.xfire.aegis.type.basic.BeanType.readObject(BeanType.java:159)
 at org.grails.xfire.aegis.AegisBindingProvider.readParameter(AegisBindingProvider.java:169)
 at org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.java:206)
 at org.codehaus.xfire.service.binding.WrappedBinding.readMessage(WrappedBinding.java:51)
 at org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42)
 at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
 at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
 at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
 at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
 at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
 at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.processFilterChain(UrlMappingsFilter.java:169)
 at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:160)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.parsePage(GrailsPageFilter.java:122)
 at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:85)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
 at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
 at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
 at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
 at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:109)
 at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
 at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:277)
 at org.codehaus.groovy.grails.plugins.springsecurity.GrailsAuthenticationProcessingFilter.super$3$doFilterHttp(GrailsAuthenticationProcessingFilter.groovy)
 at sun.reflect.GeneratedMethodAccessor605.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
 at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
 at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
 at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
 at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:131)
 at org.codehaus.groovy.grails.plugins.springsecurity.GrailsAuthenticationProcessingFilter.doFilterHttp(GrailsAuthenticationProcessingFilter.groovy:56)
 at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
 at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
 at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
 at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
 at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.c
 2009-04-02 19:58:25,671 INFO [STDOUT] atalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:65)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
 at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
 at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 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:230)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
 at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
 at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
 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:157)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
 at java.lang.Thread.run(Thread.java:619)
 2009-04-02 19:58:25,674 INFO [STDOUT] [1788642] fault.FaultSender Could not send fault.
 org.codehaus.xfire.fault.XFireFault: Couldn't write message.
 at org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerializer.java:92)
 at org.codehaus.xfire.transport.http.HttpChannel.writeWithoutAttachments(HttpChannel.java:56)
 at org.codehaus.xfire.transport.http.XFireServletChannel.sendViaServlet(XFireServletChannel.java:87)
 at org.codehaus.xfire.transport.http.XFireServletChannel.send(XFireServletChannel.java:44)
 at org.codehaus.xfire.fault.FaultSender.invoke(FaultSender.java:37)
 at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
 at org.codehaus.xfire.handler.DefaultFaultHandler.sendFault(DefaultFaultHandler.java:88)
 at org.codehaus.xfire.handler.DefaultFaultHandler.invoke(DefaultFaultHandler.java:51)
 at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:77)
 at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
 at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
 at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
 at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.processFilterChain(UrlMappingsFilter.java:169)
 at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:160)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.parsePage(GrailsPageFilter.java:122)
 at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:85)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
 at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
 at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
 at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
 at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:109)
 at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
 at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:277)
 at org.codehaus.groovy.grails.plugins.springsecurity.GrailsAuthenticationProcessingFilter.super$3$doFilterHttp(GrailsAuthenticationProcessingFilter.groovy)
 at sun.reflect.GeneratedMethodAccessor605.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
 at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
 at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
 at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
 at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:131)
 at org.codehaus.groovy.grails.plugins.springsecurity.GrailsAuthenticationProcessingFilter.doFilterHttp(GrailsAuthenticationProcessingFilter.groovy:56)
 at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
 at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
 at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
 at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
 at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
 at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
 at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:65)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
 at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
 at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 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.in
 2009-04-02 19:58:25,674 INFO [STDOUT] ternalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
 at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
 at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
 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:157)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
 at java.lang.Thread.run(Thread.java:619)
 Caused by: com.ctc.wstx.exc.WstxIOException: null
 at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313)
 at org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerializer.java:88)
 ... 95 more
 Caused by: ClientAbortException: java.net.SocketException: Connection closed by remote host
 at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:319)
 at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:288)
 at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:98)
 at com.opensymphony.module.sitemesh.filter.RoutableServletOutputStream.flush(RoutableServletOutputStream.java:122)
 at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:124)
 at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:99)
 at com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:184)
 at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311)
 ... 96 more
 Caused by: java.net.SocketException: Connection closed by remote host
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1253)
 at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:43)
 at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:737)
 at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
 at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:299)
 at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:963)
 at org.apache.coyote.Response.action(Response.java:183)
 at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:314)
 ... 103 more
- 
        4. Re: Large web service request, connection prematurely closedpeterj Apr 1, 2009 4:37 PM (in response to tinny4u)Digging through the source of Woodstox (http://woodstox.codehaus.org/) was not that helpful - apparently there is some configuration file somewhere that links the Woodstox reader with a socket. 
 Does the transfer take longer than 20 seconds? If so, try increasing the connectionTimeout in server/xxx/deploy/jboss-web.deploy/server.xml.
 You can also try setting maxPostSize at the same location. See the tomcat docs for details: http://tomcat.apache.org/tomcat-5.5-doc/config/http.html (Yes, maxPostSize defaults to 2MB, but if you are sending Unicode characters then each char takes 2 bytes, thus your assumed 1MB message might actually be 1 mega-characters, or 2MBs).
- 
        5. Re: Large web service request, connection prematurely closedtinny4u Apr 2, 2009 5:27 PM (in response to tinny4u)Thanks so much for that useful post. Unfortunately none of the configuration changes I made helped. 
 Here is my server.xml file. As you can see ive tried to get things going in a sort of brute force manner. Am I missing something? Thanks
 <!--APR library loader. Documentation at /docs/apr.html -->
 <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
 <!-- Use a custom version of StandardService that allows the
 connectors to be started independent of the normal lifecycle
 start to allow web apps to be deployed before starting the
 connectors.
 -->
 <!-- A "Connector" represents an endpoint by which requests are received
 and responses are returned. Documentation at :
 Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
 Java AJP Connector: /docs/config/ajp.html
 APR (HTTP/AJP) Connector: /docs/apr.html
 Define a non-SSL HTTP/1.1 Connector on port 8080
 -->
 <!-- Define a SSL HTTP/1.1 Connector on port 8443
 This connector uses the JSSE configuration, when using APR, the
 connector should be using the OpenSSL style configuration
 described in the APR documentation -->
 <!-- Define an AJP 1.3 Connector on port 8009 -->
 <!-- The JAAS based authentication and authorization realm implementation
 that is compatible with the jboss 3.2.x realm implementation.
 - certificatePrincipal : the class name of the
 org.jboss.security.auth.certs.CertificatePrincipal impl
 used for mapping X509[] cert chains to a Princpal.
 - allRolesMode : how to handle an auth-constraint with a role-name=*,
 one of strict, authOnly, strictAuthOnly
 + strict = Use the strict servlet spec interpretation which requires
 that the user have one of the web-app/security-role/role-name
 + authOnly = Allow any authenticated user
 + strictAuthOnly = Allow any authenticated user only if there are no
 web-app/security-roles
 -->
 <!-- A subclass of JBossSecurityMgrRealm that uses the authentication
 behavior of JBossSecurityMgrRealm, but overrides the authorization
 checks to use JACC permissions with the current java.security.Policy
 to determine authorized access.
 - allRolesMode : how to handle an auth-constraint with a role-name=*,
 one of strict, authOnly, strictAuthOnly
 + strict = Use the strict servlet spec interpretation which requires
 that the user have one of the web-app/security-role/role-name
 + authOnly = Allow any authenticated user
 + strictAuthOnly = Allow any authenticated user only if there are no
 web-app/security-roles
 -->
 <!-- Uncomment to enable request dumper. This Valve "logs interesting
 contents from the specified Request (before processing) and the
 corresponding Response (after processing). It is especially useful
 in debugging problems related to headers and cookies."
 -->
 <!--
 -->
 <!-- Access logger -->
 <!--
 -->
 <!-- Uncomment to enable single sign-on across web apps
 deployed to this host. Does not provide SSO across a cluster.
 If this valve is used, do not use the JBoss ClusteredSingleSignOn
 valve shown below.
 A new configuration attribute is available beginning with
 release 4.0.4:
 cookieDomain configures the domain to which the SSO cookie
 will be scoped (i.e. the set of hosts to
 which the cookie will be presented). By default
 the cookie is scoped to "/", meaning the host
 that presented it. Set cookieDomain to a
 wider domain (e.g. "xyz.com") to allow an SSO
 to span more than one hostname.
 -->
 <!--
 -->
 <!-- Uncomment to enable single sign-on across web apps
 deployed to this host AND to all other hosts in the cluster.
 If this valve is used, do not use the standard Tomcat SingleSignOn
 valve shown above.
 Valve uses a JBossCache instance to support SSO credential
 caching and replication across the cluster. The JBossCache
 instance must be configured separately. By default, the valve
 shares a JBossCache with the service that supports HttpSession
 replication. See the "jboss-web-cluster-service.xml" file in the
 server/all/deploy directory for cache configuration details.
 Besides the attributes supported by the standard Tomcat
 SingleSignOn valve (see the Tomcat docs), this version also
 supports the following attributes:
 cookieDomain see above
 treeCacheName JMX ObjectName of the JBossCache MBean used to
 support credential caching and replication across
 the cluster. If not set, the default value is
 "jboss.cache:service=TomcatClusteringCache", the
 standard ObjectName of the JBossCache MBean used
 to support session replication.
 -->
 <!--
 -->
 <!-- Check for unclosed connections and transaction terminated checks
 in servlets/jsps.
 Important: The dependency on the CachedConnectionManager
 in META-INF/jboss-service.xml must be uncommented, too
 -->
- 
        6. Re: Large web service request, connection prematurely closedtinny4u Apr 2, 2009 5:40 PM (in response to tinny4u)Opps, here the real file..... 
 <!--APR library loader. Documentation at /docs/apr.html -->
 <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
 <!-- Use a custom version of StandardService that allows the
 connectors to be started independent of the normal lifecycle
 start to allow web apps to be deployed before starting the
 connectors.
 -->
 <!-- A "Connector" represents an endpoint by which requests are received
 and responses are returned. Documentation at :
 Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
 Java AJP Connector: /docs/config/ajp.html
 APR (HTTP/AJP) Connector: /docs/apr.html
 Define a non-SSL HTTP/1.1 Connector on port 8080
 -->
 <!-- Define a SSL HTTP/1.1 Connector on port 8443
 This connector uses the JSSE configuration, when using APR, the
 connector should be using the OpenSSL style configuration
 described in the APR documentation -->
 <!-- Define an AJP 1.3 Connector on port 8009 -->
 <!-- The JAAS based authentication and authorization realm implementation
 that is compatible with the jboss 3.2.x realm implementation.
 - certificatePrincipal : the class name of the
 org.jboss.security.auth.certs.CertificatePrincipal impl
 used for mapping X509[] cert chains to a Princpal.
 - allRolesMode : how to handle an auth-constraint with a role-name=*,
 one of strict, authOnly, strictAuthOnly
 + strict = Use the strict servlet spec interpretation which requires
 that the user have one of the web-app/security-role/role-name
 + authOnly = Allow any authenticated user
 + strictAuthOnly = Allow any authenticated user only if there are no
 web-app/security-roles
 -->
 <!-- A subclass of JBossSecurityMgrRealm that uses the authentication
 behavior of JBossSecurityMgrRealm, but overrides the authorization
 checks to use JACC permissions with the current java.security.Policy
 to determine authorized access.
 - allRolesMode : how to handle an auth-constraint with a role-name=*,
 one of strict, authOnly, strictAuthOnly
 + strict = Use the strict servlet spec interpretation which requires
 that the user have one of the web-app/security-role/role-name
 + authOnly = Allow any authenticated user
 + strictAuthOnly = Allow any authenticated user only if there are no
 web-app/security-roles
 -->
 <!-- Uncomment to enable request dumper. This Valve "logs interesting
 contents from the specified Request (before processing) and the
 corresponding Response (after processing). It is especially useful
 in debugging problems related to headers and cookies."
 -->
 <!--
 -->
 <!-- Access logger -->
 <!--
 -->
 <!-- Uncomment to enable single sign-on across web apps
 deployed to this host. Does not provide SSO across a cluster.
 If this valve is used, do not use the JBoss ClusteredSingleSignOn
 valve shown below.
 A new configuration attribute is available beginning with
 release 4.0.4:
 cookieDomain configures the domain to which the SSO cookie
 will be scoped (i.e. the set of hosts to
 which the cookie will be presented). By default
 the cookie is scoped to "/", meaning the host
 that presented it. Set cookieDomain to a
 wider domain (e.g. "xyz.com") to allow an SSO
 to span more than one hostname.
 -->
 <!--
 -->
 <!-- Uncomment to enable single sign-on across web apps
 deployed to this host AND to all other hosts in the cluster.
 If this valve is used, do not use the standard Tomcat SingleSignOn
 valve shown above.
 Valve uses a JBossCache instance to support SSO credential
 caching and replication across the cluster. The JBossCache
 instance must be configured separately. By default, the valve
 shares a JBossCache with the service that supports HttpSession
 replication. See the "jboss-web-cluster-service.xml" file in the
 server/all/deploy directory for cache configuration details.
 Besides the attributes supported by the standard Tomcat
 SingleSignOn valve (see the Tomcat docs), this version also
 supports the following attributes:
 cookieDomain see above
 treeCacheName JMX ObjectName of the JBossCache MBean used to
 support credential caching and replication across
 the cluster. If not set, the default value is
 "jboss.cache:service=TomcatClusteringCache", the
 standard ObjectName of the JBossCache MBean used
 to support session replication.
 -->
 <!--
 -->
 <!-- Check for unclosed connections and transaction terminated checks
 in servlets/jsps.
 Important: The dependency on the CachedConnectionManager
 in META-INF/jboss-service.xml must be uncommented, too
 -->
- 
        7. Re: Large web service request, connection prematurely closedtinny4u Apr 2, 2009 5:41 PM (in response to tinny4u)Arrrr the forum is chopping off my post. Here are the important parts 
 <!-- Define a SSL HTTP/1.1 Connector on port 8443
 This connector uses the JSSE configuration, when using APR, the
 connector should be using the OpenSSL style configuration
 described in the APR documentation -->
 <!-- Define an AJP 1.3 Connector on port 8009 -->
- 
        8. Re: Large web service request, connection prematurely closedtinny4u Apr 2, 2009 5:43 PM (in response to tinny4u)<Connector port="8080" address="${jboss.bind.address}" maxThreads="250" maxHttpHeaderSize="16384" emptySessionPath="true" protocol="HTTP/1.1" enableLookups="false" redirectPort="8443" acceptCount="100" maxPostSize="10240" bufferSize="10240" socketBuffer="10240" connectionTimeout="240000" disableUploadTimeout="true" /> <!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the JSSE configuration, when using APR, the connector should be using the OpenSSL style configuration described in the APR documentation --> <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" connectionTimeout="240000" maxPostSize="10240" bufferSize="10240" socketBuffer="10240" maxSavePostSize="10240" maxHttpHeaderSize="16384" disableUploadTimeout="true" keystoreFile="${jboss.server.home.dir}/conf/.keystore" keystorePass="fact0ring" /> <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" address="${jboss.bind.address}" protocol="AJP/1.3" emptySessionPath="true" enableLookups="false" redirectPort="8443" />
- 
        9. Re: Large web service request, connection prematurely closedpeterj Apr 2, 2009 6:15 PM (in response to tinny4u)All I can suggest is playing around with the settings to see if it changes anything. Beyond that, I'm stumped. Perhaps someone else has some suggestions. 
- 
        10. Re: Large web service request, connection prematurely closedtinny4u Apr 2, 2009 9:26 PM (in response to tinny4u)Well it would appear that after the appropriate number of restarts it works! Not sure what I did wrong, I must not have saved the server.xml file or something... Also this server is a vmware image so maybe it is something to do with the load on the host OS? 
 Anyway I will continue to monitor the situation.
 Thanks for your help PeterJ!!!
 For the record here are the settings that are working for me<Connector port="8080" address="${jboss.bind.address}" maxThreads="250" maxHttpHeaderSize="16384" emptySessionPath="true" protocol="HTTP/1.1" enableLookups="false" redirectPort="8443" acceptCount="100" maxPostSize="10240" bufferSize="10240" socketBuffer="10240" connectionTimeout="240000" disableUploadTimeout="true" /> <!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the JSSE configuration, when using APR, the connector should be using the OpenSSL style configuration described in the APR documentation --> <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" connectionTimeout="240000" maxPostSize="10240" bufferSize="10240" socketBuffer="10240" maxSavePostSize="10240" maxHttpHeaderSize="16384" disableUploadTimeout="true" keystoreFile="${jboss.server.home.dir}/conf/.keystore" keystorePass="fact0ring" /> <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" address="${jboss.bind.address}" protocol="AJP/1.3" emptySessionPath="true" enableLookups="false" redirectPort="8443" />
 
    