Hi Erik, You're correct that STREAMED means that the HttpServletRequest was already read previously.
I've tried it in one of our projects and got the same result. The code looks fine according to API docs, so I assume it's a bug/regression that needs further investigation. In our case, Shiro reads the body, so I've tried to set up a new project from the archetype. However, I didn't get Eclipse+Maven to stop at breakpoints in the Jetty Request class to see who's calling getReader()/getInputStream() before the request body is converted/coerced to a String. Cheers Ben On Tue, Sep 10, 2024 at 12:52 AM Erik Fäßler <erik.faess...@uni-jena.de> wrote: > Hey everyone, > > I just started out to check the REST capabilities of Tapestry that had > been added with 5.8.0. I created a fresh project using mvn > archetype:generate -Dfilter=org.apache.tapestry:quickstart. This gave my a > Tapestry 5.8.0 project but I updated it to 5.8.7 manually. > > However, the following code produces an exception for me I did not expect: > > import org.apache.tapestry5.annotations.RequestBody; > > public class Api { > Object onHttpPost(@RequestBody String body) { > System.out.println(body); > return null; > } > } > When I send this request: > curl -XPOST http://localhost:8080/api -d ‘asdfjhasdf’ > > I get an application exception “STREAMED" > > rg.apache.tapestry5.runtime.ComponentEventException: Coercion of <Proxy > for HttpServletRequest(javax.servlet.http.HttpServletRequest)> to type > java.lang.String (via javax.servlet.http.HttpServletRequest --> String) > failed: STREAMED > > I think it means that the body is already read before the coercion. But > since this is a fresh project I don’t know where this could happen. Did I > do something wrong? > > Full stack trace: > > 2024-09-06 20:34:46,339 [qtp1360913629-18 ] INFO > org.apache.tapestry5.modules.InternalModule.PageLoader Loaded page 'Api' > (en) in 25.482 ms > 2024-09-06 20:34:46,365 [qtp1360913629-18 ] ERROR > org.apache.tapestry5.ioc.Registry Coercion of <Proxy for > HttpServletRequest(javax.servlet.http.HttpServletRequest)> to type > java.lang.String (via javax.servlet.http.HttpServletRequest --> String) > failed: STREAMED > 2024-09-06 20:34:46,365 [qtp1360913629-18 ] ERROR > org.apache.tapestry5.ioc.Registry Operations trace: > 2024-09-06 20:34:46,365 [qtp1360913629-18 ] ERROR > org.apache.tapestry5.ioc.Registry [ 1] Handling page render request > for page Api > 2024-09-06 20:34:46,366 [qtp1360913629-18 ] ERROR > org.apache.tapestry5.ioc.Registry [ 2] Triggering event 'httpPOST' > on Api > 2024-09-06 20:34:46,366 [qtp1360913629-18 ] ERROR > org.apache.tapestry5.ioc.Registry [ 3] Obtaining value for > parameter #1 of de.julielab.pages.Api.onHttpPost(java.lang.String) > 2024-09-06 20:34:46,366 [qtp1360913629-18 ] ERROR > org.apache.tapestry5.ioc.Registry [ 4] Converting HTTP request body > for @RequestBody parameter > 2024-09-06 20:34:46,372 [qtp1360913629-18 ] ERROR > che.tapestry5.modules.TapestryModule.RequestExceptionHandler Processing of > request failed with uncaught exception: > org.apache.tapestry5.runtime.ComponentEventException: Coercion of <Proxy > for HttpServletRequest(javax.servlet.http.HttpServletRequest)> to type > java.lang.String (via javax.servlet.http.HttpServletRequest --> String) > failed: STREAMED > org.apache.tapestry5.runtime.ComponentEventException: Coercion of <Proxy > for HttpServletRequest(javax.servlet.http.HttpServletRequest)> to type > java.lang.String (via javax.servlet.http.HttpServletRequest --> String) > failed: STREAMED > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1133) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3100(ComponentPageElementImpl.java:58) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1054) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1051) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1292) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:158) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1050) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.triggerContextEvent(InternalComponentResourcesImpl.java:289) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.services.PageActivatorImpl.activatePage(PageActivatorImpl.java:83) > ~[tapestry-core-5.8.7.jar:?] > at $PageActivator_5c47c06e4d34.activatePage(Unknown Source) ~[?:?] > at > org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:65) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.modules.TapestryModule$33.handle(TapestryModule.java:2058) > ~[tapestry-core-5.8.7.jar:?] > at $PageRenderRequestHandler_5c47c06e4d35.handle(Unknown Source) > ~[?:?] > at $PageRenderRequestHandler_5c47c06e4d2f.handle(Unknown Source) > ~[?:?] > at > org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.lambda$handlePageRender$1(ComponentRequestHandlerTerminator.java:74) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.run(ComponentRequestHandlerTerminator.java:93) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:74) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.services.DeferredResponseRenderer.handlePageRender(DeferredResponseRenderer.java:57) > ~[tapestry-core-5.8.7.jar:?] > at $ComponentRequestHandler_5c47c06e4d30.handlePageRender(Unknown > Source) ~[?:?] > at > org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:49) > ~[tapestry-core-5.8.7.jar:?] > at $ComponentRequestHandler_5c47c06e4d30.handlePageRender(Unknown > Source) ~[?:?] > at > org.apache.tapestry5.internal.services.RequestOperationTracker$2.run(RequestOperationTracker.java:78) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:56) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:60) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:1286) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.internal.services.RequestOperationTracker.handlePageRender(RequestOperationTracker.java:71) > ~[tapestry-core-5.8.7.jar:?] > at $ComponentRequestHandler_5c47c06e4d30.handlePageRender(Unknown > Source) ~[?:?] > at $ComponentRequestHandler_5c47c06e4d00.handlePageRender(Unknown > Source) ~[?:?] > at > org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:61) > ~[tapestry-core-5.8.7.jar:?] > at $Dispatcher_5c47c06e4d02.dispatch(Unknown Source) ~[?:?] > at $Dispatcher_5c47c06e4cf7.dispatch(Unknown Source) ~[?:?] > at > org.apache.tapestry5.http.modules.TapestryHttpModule$RequestHandlerTerminator.service(TapestryHttpModule.java:492) > ~[tapestry-http-5.8.7.jar:?] > at > org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:31) > ~[tapestry-core-5.8.7.jar:?] > at $RequestHandler_5c47c06e4cf8.service(Unknown Source) ~[?:?] > at > org.apache.tapestry5.modules.TapestryModule$2.service(TapestryModule.java:1005) > ~[tapestry-core-5.8.7.jar:?] > at $RequestHandler_5c47c06e4cf8.service(Unknown Source) ~[?:?] > at > org.apache.tapestry5.modules.TapestryModule$1.service(TapestryModule.java:995) > ~[tapestry-core-5.8.7.jar:?] > at $RequestHandler_5c47c06e4cf8.service(Unknown Source) ~[?:?] > at > org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:89) > ~[tapestry-core-5.8.7.jar:?] > at $RequestHandler_5c47c06e4cf8.service(Unknown Source) ~[?:?] > at de.julielab.services.AppModule$1.service(AppModule.java:107) > ~[classes/:?] > at $RequestFilter_5c47c06e4cf3.service(Unknown Source) ~[?:?] > at $RequestHandler_5c47c06e4cf8.service(Unknown Source) ~[?:?] > at > org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:110) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:100) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:124) > ~[tapestry-core-5.8.7.jar:?] > at $RequestHandler_5c47c06e4cf8.service(Unknown Source) ~[?:?] > at $RequestHandler_5c47c06e4ced.service(Unknown Source) ~[?:?] > at > org.apache.tapestry5.http.modules.TapestryHttpModule$HttpServletRequestHandlerTerminator.service(TapestryHttpModule.java:469) > ~[tapestry-http-5.8.7.jar:?] > at > org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:69) > ~[tapestry-core-5.8.7.jar:?] > at $HttpServletRequestFilter_5c47c06e4cec.service(Unknown Source) > ~[?:?] > at $HttpServletRequestHandler_5c47c06e4cef.service(Unknown Source) > ~[?:?] > at > org.apache.tapestry5.http.internal.gzip.GZipFilter.service(GZipFilter.java:60) > ~[tapestry-http-5.8.7.jar:?] > at $HttpServletRequestHandler_5c47c06e4cef.service(Unknown Source) > ~[?:?] > at > org.apache.tapestry5.http.modules.TapestryHttpModule$2.service(TapestryHttpModule.java:318) > ~[tapestry-http-5.8.7.jar:?] > at $HttpServletRequestHandler_5c47c06e4cef.service(Unknown Source) > ~[?:?] > at $HttpServletRequestHandler_5c47c06e4ce7.service(Unknown Source) > ~[?:?] > at > org.apache.tapestry5.http.TapestryFilter.runFilter(TapestryFilter.java:178) > ~[tapestry-http-5.8.7.jar:?] > at > org.apache.tapestry5.http.TapestryFilter.doFilter(TapestryFilter.java:225) > ~[tapestry-http-5.8.7.jar:?] > at > org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:210) > ~[jetty-servlet-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594) > ~[jetty-servlet-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:164) > ~[websocket-servlet-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202) > ~[jetty-servlet-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594) > ~[jetty-servlet-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:506) > ~[jetty-servlet-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:580) > ~[jetty-security-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1571) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1372) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:463) > ~[jetty-servlet-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1544) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1294) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:51) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) > ~[jetty-server-10.0.6.jar:10.0.6] > at org.eclipse.jetty.server.Server.handle(Server.java:562) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:406) > ~[jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:663) > [jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:398) > [jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282) > [jetty-server-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319) > [jetty-io-10.0.6.jar:10.0.6] > at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100) > [jetty-io-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101) > [jetty-io-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894) > [jetty-util-10.0.6.jar:10.0.6] > at > org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038) > [jetty-util-10.0.6.jar:10.0.6] > at java.lang.Thread.run(Thread.java:829) [?:?] > Caused by: org.apache.tapestry5.ioc.internal.OperationException: Coercion > of <Proxy for HttpServletRequest(javax.servlet.http.HttpServletRequest)> to > type java.lang.String (via javax.servlet.http.HttpServletRequest --> > String) failed: STREAMED > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:196) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.handleRuntimeException(OperationTrackerImpl.java:138) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:90) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1292) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.internal.transform.OnEventWorker.lambda$createRequestBodyProvider$1(OnEventWorker.java:611) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.transform.EventHandlerMethodParameterSource$ParameterExtractor.invoke(EventHandlerMethodParameterSource.java:43) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1292) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.internal.transform.EventHandlerMethodParameterSource.get(EventHandlerMethodParameterSource.java:66) > ~[tapestry-core-5.8.7.jar:?] > at de.julielab.pages.Api.dispatchComponentEvent(Api.java) > ~[classes/:?] > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:924) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1109) > ~[tapestry-core-5.8.7.jar:?] > ... 94 more > Caused by: org.apache.tapestry5.commons.util.CoercionFailedException: > Coercion of <Proxy for > HttpServletRequest(javax.servlet.http.HttpServletRequest)> to type > java.lang.String (via javax.servlet.http.HttpServletRequest --> String) > failed: STREAMED > at > org.apache.tapestry5.commons.internal.services.TypeCoercerImpl$TargetCoercion.coerce(TypeCoercerImpl.java:81) > ~[commons-5.8.7.jar:?] > at > org.apache.tapestry5.commons.internal.services.TypeCoercerImpl.coerce(TypeCoercerImpl.java:157) > ~[commons-5.8.7.jar:?] > at $TypeCoercer_5c47c06e4cb6.coerce(Unknown Source) ~[?:?] > at > org.apache.tapestry5.http.internal.TypeCoercerHttpRequestBodyConverter.convert(TypeCoercerHttpRequestBodyConverter.java:38) > ~[tapestry-http-5.8.7.jar:?] > at $HttpRequestBodyConverter_5c47c06e4d53.convert(Unknown Source) > ~[?:?] > at $HttpRequestBodyConverter_5c47c06e4d52.convert(Unknown Source) > ~[?:?] > at > org.apache.tapestry5.http.internal.services.RestSupportImpl.getRequestBodyAs(RestSupportImpl.java:84) > ~[tapestry-http-5.8.7.jar:?] > at $RestSupport_5c47c06e4d22.getRequestBodyAs(Unknown Source) > ~[?:?] > at > org.apache.tapestry5.internal.transform.OnEventWorker.lambda$createRequestBodyProvider$0(OnEventWorker.java:603) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1292) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.internal.transform.OnEventWorker.lambda$createRequestBodyProvider$1(OnEventWorker.java:611) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.transform.EventHandlerMethodParameterSource$ParameterExtractor.invoke(EventHandlerMethodParameterSource.java:43) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1292) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.internal.transform.EventHandlerMethodParameterSource.get(EventHandlerMethodParameterSource.java:66) > ~[tapestry-core-5.8.7.jar:?] > at de.julielab.pages.Api.dispatchComponentEvent(Api.java) > ~[classes/:?] > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:924) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1109) > ~[tapestry-core-5.8.7.jar:?] > ... 94 more > Caused by: java.lang.IllegalStateException: STREAMED > at org.eclipse.jetty.server.Request.getReader(Request.java:1154) > ~[?:?] > at $HttpServletRequest_5c47c06e4cf2.getReader(Unknown Source) > ~[?:?] > at $HttpServletRequest_5c47c06e4cf1.getReader(Unknown Source) > ~[?:?] > at > org.apache.tapestry5.http.modules.TapestryHttpModule.toString(TapestryHttpModule.java:384) > ~[tapestry-http-5.8.7.jar:?] > at > org.apache.tapestry5.commons.services.CoercionTuple$CoercionWrapper.coerce(CoercionTuple.java:58) > ~[commons-5.8.7.jar:?] > at > org.apache.tapestry5.commons.internal.services.TypeCoercerImpl$TargetCoercion.coerce(TypeCoercerImpl.java:78) > ~[commons-5.8.7.jar:?] > at > org.apache.tapestry5.commons.internal.services.TypeCoercerImpl.coerce(TypeCoercerImpl.java:157) > ~[commons-5.8.7.jar:?] > at $TypeCoercer_5c47c06e4cb6.coerce(Unknown Source) ~[?:?] > at > org.apache.tapestry5.http.internal.TypeCoercerHttpRequestBodyConverter.convert(TypeCoercerHttpRequestBodyConverter.java:38) > ~[tapestry-http-5.8.7.jar:?] > at $HttpRequestBodyConverter_5c47c06e4d53.convert(Unknown Source) > ~[?:?] > at $HttpRequestBodyConverter_5c47c06e4d52.convert(Unknown Source) > ~[?:?] > at > org.apache.tapestry5.http.internal.services.RestSupportImpl.getRequestBodyAs(RestSupportImpl.java:84) > ~[tapestry-http-5.8.7.jar:?] > at $RestSupport_5c47c06e4d22.getRequestBodyAs(Unknown Source) > ~[?:?] > at > org.apache.tapestry5.internal.transform.OnEventWorker.lambda$createRequestBodyProvider$0(OnEventWorker.java:603) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1292) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.internal.transform.OnEventWorker.lambda$createRequestBodyProvider$1(OnEventWorker.java:611) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.transform.EventHandlerMethodParameterSource$ParameterExtractor.invoke(EventHandlerMethodParameterSource.java:43) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1292) > ~[tapestry-ioc-5.8.7.jar:?] > at > org.apache.tapestry5.internal.transform.EventHandlerMethodParameterSource.get(EventHandlerMethodParameterSource.java:66) > ~[tapestry-core-5.8.7.jar:?] > at de.julielab.pages.Api.dispatchComponentEvent(Api.java) > ~[classes/:?] > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:924) > ~[tapestry-core-5.8.7.jar:?] > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1109) > ~[tapestry-core-5.8.7.jar:?] > ... 94 more