You’re right, this probably is not a Stripes issue, but the client does not 
like what you’re sending. It’s hard to say what’s going on without seeing the 
client code…  My guess is that the parser at the client end is not very 
permissive, and it’ll choke if you just have a wrong byte sequence.  

If you don’t have source code to the client (or access to its own log files), 
one possibility would be to get a known good byte array and compare it with 
whatever you’re sending back with Stripes, and just try to reverse-engineer the 
correct format (‘cos it sounds like the correct format is defined by the 
implementation, not the spec in this case).

Also, make sure that you don’t have any issues with networking by e.g. running 
the client and server on your local machine.

/Janne

On 24 May 2014, at 11:11 , Heather and Jon Turgeon 
<tashiba40_evergr...@hotmail.com> wrote:

> Hi, will add the try/catch. I think the issue is because char 26 is 
> traditionally EOF character. I need to include this character in the middle 
> of the byte array (the file to download). This seems to be causing the 
> 
> ClientAbortException:  java.net.SocketException: Connection reset
>     at 
> org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:406)
>     at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:371)
>     at 
> org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:431)
>     at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:419)
>     at 
> org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91)
>     at 
> org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:84)
>     at 
> org.apache.catalina.filters.ExpiresFilter$XServletOutputStream.write(ExpiresFilter.java:980)
>     at 
> com.venturefarther.action.kap.MarkerKapDownloadActionBean$1.stream(MarkerKapDownloadActionBean.java:109)
>     at 
> net.sourceforge.stripes.action.StreamingResolution.execute(StreamingResolution.java:240)
>     at 
> net.sourceforge.stripes.controller.DispatcherHelper$7.intercept(DispatcherHelper.java:497)
>     at 
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:158)
>     at 
> net.sourceforge.stripes.controller.HttpCacheInterceptor.intercept(HttpCacheInterceptor.java:99)
>     at 
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155)
>     at 
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:113)
>     at 
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155)
>     at 
> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74)
>     at 
> net.sourceforge.stripes.controller.DispatcherHelper.executeResolution(DispatcherHelper.java:491)
>     at 
> net.sourceforge.stripes.controller.DispatcherServlet.executeResolution(DispatcherServlet.java:286)
>     at 
> net.sourceforge.stripes.controller.DispatcherServlet.service(DispatcherServlet.java:170)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>     at 
> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:260)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>     at 
> org.apache.catalina.filters.ExpiresFilter.doFilter(ExpiresFilter.java:1179)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>     at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>     at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>     at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>     at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>     at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>     at 
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
>     at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>     at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>     at 
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
>     at 
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>     at 
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>     at java.lang.Thread.run(Thread.java:744)
> Caused by: java.net.SocketException: Connection reset
>     at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:118)
>     at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
>     at 
> org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:215)
>     at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480)
>     at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)
>     at 
> org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:240)
>     at 
> org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:119)
>     at 
> org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:192)
>     at org.apache.coyote.Response.doWrite(Response.java:505)
>     at 
> org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:401)
>     ... 41 more
> 
> This does not seem to be a Stripes issue, but would anyone have an idea as to 
> how to get around this?
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.
> Get unparalleled scalability from the best Selenium testing platform available
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs_______________________________________________
> Stripes-users mailing list
> Stripes-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/stripes-users

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Stripes-users mailing list
Stripes-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/stripes-users

Reply via email to