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 >>>> >>>> >> >> > >
