This exception says "Don't use the reader but use the input stream
because something (maybe header) has been already read from the
stream".

On Wed, Sep 28, 2011 at 10:59 AM, Tate Jones <t...@bluedog.com.au> wrote:
> Hi Group,
>
> I am new to Wicket and I am attempting to read some JSON data posted from a 
> wicket page.
>
> The following exception occurs with Wicket 1.4.18 and Jetty 6.1.x when 
> attempting to read the servlet request - BufferedReader br = hsr.getReader().
>
> Sep 28, 2011 8:50:48 AM org.apache.wicket.RequestCycle logRuntimeException
> SEVERE: STREAMED
> java.lang.IllegalStateException: STREAMED
>        at org.mortbay.jetty.Request.getReader(Request.java:935)
>        at tunechipsapp.web.pages.LoginPage$2.onRequest(LoginPage.java:64)
>        at 
> org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:157)
>        at 
> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
>        at 
> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1252)
>        at org.apache.wicket.RequestCycle.step(RequestCycle.java:1331)
>        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1438)
>        at org.apache.wicket.RequestCycle.request(RequestCycle.java:546)
>        at 
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486)
>        at 
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:319)
>        at 
> com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
>        at 
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
>
> The code was source from 
> https://cwiki.apache.org/WICKET/how-to-handle-jqueryajax-json-request-.html
>
>   AbstractAjaxBehavior ajaxSaveBehaviour = new AbstractAjaxBehavior() {
>            private static final long serialVersionUID = 1L;
>
>            @SuppressWarnings("unchecked")
>            public void onRequest() {
>                log.info("***** onRequest *****");
>
>                //get parameters
>                final RequestCycle requestCycle = RequestCycle.get();
>
>                WebRequest wr = (WebRequest) requestCycle.getRequest();
>
>                HttpServletRequest hsr = wr.getHttpServletRequest();
>
>                try {
>                    BufferedReader br = hsr.getReader();  <<< Exception
>
>                    String jsonString = br.readLine();
>                    if ((jsonString == null) || jsonString.isEmpty()) {
>                        log.error(" no json found");
>                    } else {
>                        log.info(" json  is :" + jsonString);
>                    }
>
>
>                } catch (IOException ex) {
>                    log.error(ex.toString());
>                }
>
>                // json string to retir to the jQuery onSuccess function
>                String data = "{}";
>
>                log.info("returning json :" + data);
>                IRequestTarget t = new StringRequestTarget("application/json", 
> "UTF-8", data);
>                getRequestCycle().setRequestTarget(t);
>                //requestCycle.setRequestTarget(new 
> StringRequestTarget("application/json", "utf-8", data));
>            }
>        };
>        add(ajaxSaveBehaviour);
>
> I have read some posts about this in different forms (eg. pushing content), 
> but I haven't found a solution at this point.
>
> Cheers in advance
> Tate



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to