Its not close()ing actually. The underlying XMLStreamWriter flushes once
endDocument() is called. flush() is only ever called once too. I'm not
sure why thats causing Jetty to freak out. *sigh*
Googling turned up this, but I'm not sure its really helping me -
http://jira.codehaus.org/browse/JETTY-276
- Dan
James M Snell wrote:
It's possible but then I'd expect the error to be thrown higher up in
the method. For some reason, the underlying writer appears to be
closing before the method completes. Any chance you can do some
debugging on that internal writer to see what's going on with it?
- James
Dan Diephouse wrote:
Any chance the document is being written twice somehow? Thats what the
exception seems to imply to me, but I could be way off.
Dan Diephouse wrote:
Its the code inside AbstractServiceProvider.getServicesDocument()
(formerly known as AbstractWorkspaceProvider).
James M Snell wrote:
Odd. Can you provide some of the code you're using the write out the
document?
- James
Dan Diephouse wrote:
I'm getting the following exception in my app when printing out a
services document now. I haven't been able to reproduce in any of the
Abdera test cases I've written though. Any ideas?
- Dan
java.lang.RuntimeException: com.ctc.wstx.exc.WstxIOException: null
at
org.apache.abdera.parser.stax.StaxStreamWriter.endDocument(StaxStreamWriter.java:117)
at
org.apache.abdera.protocol.server.impl.AbstractServiceProvider$1.writeTo(AbstractServiceProvider.java:184)
at
org.apache.abdera.protocol.server.impl.StreamWriterResponseContext.writeEntity(StreamWriterResponseContext.java:94)
at
org.apache.abdera.protocol.server.impl.SimpleResponseContext.writeTo(SimpleResponseContext.java:67)
at
org.apache.abdera.protocol.server.impl.SimpleResponseContext.writeTo(SimpleResponseContext.java:60)
at
org.apache.abdera.protocol.server.impl.DefaultRequestHandler.response(DefaultRequestHandler.java:133)
at
org.apache.abdera.protocol.server.impl.DefaultRequestHandler.process(DefaultRequestHandler.java:61)
at
org.apache.abdera.protocol.server.servlet.AbderaServlet.service(AbderaServlet.java:100)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at
org.springmodules.jcr.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:93)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.ui.switchuser.SwitchUserProcessingFilter.doFilter(SwitchUserProcessingFilter.java:341)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
at
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:227)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
Caused by: com.ctc.wstx.exc.WstxIOException: null
at
com.ctc.wstx.sw.BaseStreamWriter.finishDocument(BaseStreamWriter.java:1687)
at
com.ctc.wstx.sw.BaseStreamWriter.writeEndDocument(BaseStreamWriter.java:585)
at
org.apache.abdera.parser.stax.StaxStreamWriter.endDocument(StaxStreamWriter.java:114)
... 52 more
Caused by: org.mortbay.jetty.EofException
at
org.mortbay.jetty.HttpGenerator.completeHeader(HttpGenerator.java:253)
at
org.mortbay.jetty.HttpConnection.commitResponse(HttpConnection.java:581)
at
org.mortbay.jetty.HttpConnection$Output.flush(HttpConnection.java:906)
at
sun.nio.cs.StreamEncoder$CharsetSE.implFlush(StreamEncoder.java:410)
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:152)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213)
at
com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214)
at
com.ctc.wstx.sw.BufferingXmlWriter.close(BufferingXmlWriter.java:194)
at
com.ctc.wstx.sw.BaseStreamWriter.finishDocument(BaseStreamWriter.java:1685)
... 54 more
[12-12 15:57:41] INFO / [main]: Destroying
--
Dan Diephouse
MuleSource
http://mulesource.com | http://netzooid.com/blog