You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Tate Jones <ta...@bluedog.com.au> on 2011/09/28 10:59:31 UTC

java.lang.IllegalStateException: STREAMED - Consuming JSON fails

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 

Re: java.lang.IllegalStateException: STREAMED - Consuming JSON fails

Posted by Tate Jones <ta...@bluedog.com.au>.
Cheers.

Changed the call to.

                    BufferedReader in = new BufferedReader(
                            new InputStreamReader(
                                    hsr.getInputStream()));


On 28/09/2011, at 7:03 PM, Martin Grigorov wrote:

> 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 <ta...@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-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
> 


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


Re: java.lang.IllegalStateException: STREAMED - Consuming JSON fails

Posted by Martin Grigorov <mg...@apache.org>.
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 <ta...@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-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org