You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by Alexander Saar <al...@googlemail.com> on 2008/01/21 01:01:25 UTC

File Upload Problem

Hi all,
I have a problem with the file upload in Sling. I have a form that 
uploads a file and an according POST.jsp for handling the upload. The 
log shows that POST.jsp is resolved correct, but when I try to upload 
the file, I get the following exception:

javax.servlet.ServletException: null
	org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(DefaultSlingScript.java:97)
	org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(SlingScriptServlet.java:74)
	org.apache.sling.core.impl.request.RequestData.service(RequestData.java:415)
	org.apache.sling.core.impl.SlingMainServlet.processRequest(SlingMainServlet.java:287)
	org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
	org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(ThemeResolverFilter.java:76)
	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
	org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(LocaleResolverFilter.java:85)
	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
	org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:206)
	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:187)
	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:159)
	org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
	org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
	org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.sling.launcher.webapp.SlingServlet.service(SlingServlet.java:195)

*root cause*

javax.script.ScriptException: null
	org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:272)
	org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(DefaultSlingScript.java:85)
	org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(SlingScriptServlet.java:74)
	org.apache.sling.core.impl.request.RequestData.service(RequestData.java:415)
	org.apache.sling.core.impl.SlingMainServlet.processRequest(SlingMainServlet.java:287)
	org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
	org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(ThemeResolverFilter.java:76)
	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
	org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(LocaleResolverFilter.java:85)
	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
	org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:206)
	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:187)
	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:159)
	org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
	org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
	org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.sling.launcher.webapp.SlingServlet.service(SlingServlet.java:195)

*root cause*

java.lang.IllegalStateException: getReader() has already been called for this request
	org.apache.catalina.connector.Request.getInputStream(Request.java:978)
	org.apache.catalina.connector.RequestFacade.getInputStream(RequestFacade.java:340)
	javax.servlet.ServletRequestWrapper.getInputStream(ServletRequestWrapper.java:146)
	org.apache.commons.fileupload.servlet.ServletRequestContext.getInputStream(ServletRequestContext.java:92)
	org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:329)
	org.apache.sling.core.impl.parameters.ParameterSupport.parseMultiPartPost(ParameterSupport.java:166)
	org.apache.sling.core.impl.parameters.ParameterSupport.getRequestParameterMapInternal(ParameterSupport.java:110)
	org.apache.sling.core.impl.parameters.ParameterSupport.getRequestParameter(ParameterSupport.java:87)
	org.apache.sling.core.impl.parameters.ParameterSupport.getParameter(ParameterSupport.java:68)
	org.apache.sling.core.impl.SlingHttpServletRequestImpl.getParameter(SlingHttpServletRequestImpl.java:125)
	org.apache.sling.scripting.jsp.JspServletWrapperAdapter.preCompile(JspServletWrapperAdapter.java:78)
	org.apache.sling.scripting.jsp.JspServletWrapperAdapter.service(JspServletWrapperAdapter.java:49)
	org.apache.sling.scripting.jsp.JspScriptEngineFactory.callJsp(JspScriptEngineFactory.java:126)
	org.apache.sling.scripting.jsp.JspScriptEngineFactory.access$000(JspScriptEngineFactory.java:71)
	org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:268)
	org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(DefaultSlingScript.java:85)
	org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(SlingScriptServlet.java:74)
	org.apache.sling.core.impl.request.RequestData.service(RequestData.java:415)
	org.apache.sling.core.impl.SlingMainServlet.processRequest(SlingMainServlet.java:287)
	org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
	org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(ThemeResolverFilter.java:76)
	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
	org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(LocaleResolverFilter.java:85)
	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
	org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:206)
	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:187)
	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:159)
	org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
	org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
	org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.sling.launcher.webapp.SlingServlet.service(SlingServlet.java:195)

Seems like somebody is calling getReader() before ParameterSupport code 
is executed. But I was not able to figure out where this happens.

Any ideas?

Regards,
Alex


Re: File Upload Problem

Posted by Alexander Saar <al...@googlemail.com>.
Hi Felix,
just tested it and it works for me :-)

Thanks a lot!

Regards,
Alex


On Jan 23, 2008 4:09 PM, Felix Meschberger <fm...@gmail.com> wrote:

> Hi Alex,
>
> Sorry for the delay, I just found (and hopefully fixed) the problem. It
> is caused by the DefaultSlingScript which gets the request reader. This
> causes the exception to be thrown for multipart/form-data requests.
>
> I fix this by using a lazy reader just like we have a lazy writer.
>
> Hope this helps.
>
> Regards
> Felix
>
>
> Am Montag, den 21.01.2008, 16:42 +0100 schrieb Alexander Saar:
> > Hi Felix,
> > thanks for the reply.
> >
> > I switched to using request.getRequestParameterMap() in my POST.jsp, but
> > nothing changed and the error is the same. After inspecting the stack
> > trace and my repository again I think the error occurs when Sling tries
> > to read the input and build the request parameter map, because my script
> > is never compiled or executed (at least there is no compiled class in
> > the repository).
> >
> > To verify this I used an simple POST.jsp that just outputs a plain
> > string and does not access any parameters. When I post my file I get the
> > same exception.
> >
> > Regards,
> > Alex
> >
> >
> > Felix Meschberger schrieb:
> > > Hi Alexander,
> > >
> > > If you upload the file with a multipart/form-data POST, Sling will
> > > already have read the input and will provide the data in the
> > > RequestParameterMap as RequestParameter instances, which allow you
> > > access to the uploaded file data.
> > >
> > > Hope, this helps.
> > >
> > > Regards
> > > Felix
> > >
> > > Am Montag, den 21.01.2008, 01:01 +0100 schrieb Alexander Saar:
> > >
> > >> Hi all,
> > >> I have a problem with the file upload in Sling. I have a form that
> > >> uploads a file and an according POST.jsp for handling the upload. The
> > >> log shows that POST.jsp is resolved correct, but when I try to upload
> > >> the file, I get the following exception:
> > >>
> > >> javax.servlet.ServletException: null
> > >>    org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(
> DefaultSlingScript.java:97)
> > >>
> org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(
> SlingScriptServlet.java:74)
> > >>    org.apache.sling.core.impl.request.RequestData.service(
> RequestData.java:415)
> > >>    org.apache.sling.core.impl.SlingMainServlet.processRequest(
> SlingMainServlet.java:287)
> > >>    org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(
> RequestSlingFilterChain.java:48)
> > >>
> org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(
> AbstractSlingFilterChain.java:54)
> > >>    org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(
> ThemeResolverFilter.java:76)
> > >>
> org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(
> AbstractSlingFilterChain.java:52)
> > >>    org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(
> LocaleResolverFilter.java:85)
> > >>
> org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(
> AbstractSlingFilterChain.java:52)
> > >>    org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(
> RequestLoggerFilter.java:206)
> > >>
> org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(
> AbstractSlingFilterChain.java:52)
> > >>    org.apache.sling.core.impl.SlingMainServlet.service(
> SlingMainServlet.java:187)
> > >>    org.apache.sling.core.impl.SlingMainServlet.service(
> SlingMainServlet.java:159)
> > >>
> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest
> (ServletRegistration.java:90)
> > >>
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(
> ProxyServlet.java:109)
> > >>    org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(
> ProxyServlet.java:75)
> > >>    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > >>    org.apache.sling.launcher.webapp.SlingServlet.service(
> SlingServlet.java:195)
> > >>
> > >> *root cause*
> > >>
> > >> javax.script.ScriptException: null
> > >>
> org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval
> (JspScriptEngineFactory.java:272)
> > >>    org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(
> DefaultSlingScript.java:85)
> > >>
> org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(
> SlingScriptServlet.java:74)
> > >>    org.apache.sling.core.impl.request.RequestData.service(
> RequestData.java:415)
> > >>    org.apache.sling.core.impl.SlingMainServlet.processRequest(
> SlingMainServlet.java:287)
> > >>    org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(
> RequestSlingFilterChain.java:48)
> > >>
> org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(
> AbstractSlingFilterChain.java:54)
> > >>    org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(
> ThemeResolverFilter.java:76)
> > >>
> org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(
> AbstractSlingFilterChain.java:52)
> > >>    org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(
> LocaleResolverFilter.java:85)
> > >>
> org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(
> AbstractSlingFilterChain.java:52)
> > >>    org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(
> RequestLoggerFilter.java:206)
> > >>
> org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(
> AbstractSlingFilterChain.java:52)
> > >>    org.apache.sling.core.impl.SlingMainServlet.service(
> SlingMainServlet.java:187)
> > >>    org.apache.sling.core.impl.SlingMainServlet.service(
> SlingMainServlet.java:159)
> > >>
> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest
> (ServletRegistration.java:90)
> > >>
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(
> ProxyServlet.java:109)
> > >>    org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(
> ProxyServlet.java:75)
> > >>    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > >>    org.apache.sling.launcher.webapp.SlingServlet.service(
> SlingServlet.java:195)
> > >>
> > >> *root cause*
> > >>
> > >> java.lang.IllegalStateException: getReader() has already been called
> for this request
> > >>    org.apache.catalina.connector.Request.getInputStream(Request.java
> :978)
> > >>    org.apache.catalina.connector.RequestFacade.getInputStream(
> RequestFacade.java:340)
> > >>    javax.servlet.ServletRequestWrapper.getInputStream(
> ServletRequestWrapper.java:146)
> > >>
> org.apache.commons.fileupload.servlet.ServletRequestContext.getInputStream
> (ServletRequestContext.java:92)
> > >>    org.apache.commons.fileupload.FileUploadBase.parseRequest(
> FileUploadBase.java:329)
> > >>
> org.apache.sling.core.impl.parameters.ParameterSupport.parseMultiPartPost(
> ParameterSupport.java:166)
> > >>
> org.apache.sling.core.impl.parameters.ParameterSupport.getRequestParameterMapInternal
> (ParameterSupport.java:110)
> > >>
> org.apache.sling.core.impl.parameters.ParameterSupport.getRequestParameter
> (ParameterSupport.java:87)
> > >>
> org.apache.sling.core.impl.parameters.ParameterSupport.getParameter(
> ParameterSupport.java:68)
> > >>
> org.apache.sling.core.impl.SlingHttpServletRequestImpl.getParameter(
> SlingHttpServletRequestImpl.java:125)
> > >>    org.apache.sling.scripting.jsp.JspServletWrapperAdapter.preCompile
> (JspServletWrapperAdapter.java:78)
> > >>    org.apache.sling.scripting.jsp.JspServletWrapperAdapter.service(
> JspServletWrapperAdapter.java:49)
> > >>    org.apache.sling.scripting.jsp.JspScriptEngineFactory.callJsp(
> JspScriptEngineFactory.java:126)
> > >>    org.apache.sling.scripting.jsp.JspScriptEngineFactory.access$000(
> JspScriptEngineFactory.java:71)
> > >>
> org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval
> (JspScriptEngineFactory.java:268)
> > >>    org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(
> DefaultSlingScript.java:85)
> > >>
> org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(
> SlingScriptServlet.java:74)
> > >>    org.apache.sling.core.impl.request.RequestData.service(
> RequestData.java:415)
> > >>    org.apache.sling.core.impl.SlingMainServlet.processRequest(
> SlingMainServlet.java:287)
> > >>    org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(
> RequestSlingFilterChain.java:48)
> > >>
> org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(
> AbstractSlingFilterChain.java:54)
> > >>    org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(
> ThemeResolverFilter.java:76)
> > >>
> org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(
> AbstractSlingFilterChain.java:52)
> > >>    org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(
> LocaleResolverFilter.java:85)
> > >>
> org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(
> AbstractSlingFilterChain.java:52)
> > >>    org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(
> RequestLoggerFilter.java:206)
> > >>
> org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(
> AbstractSlingFilterChain.java:52)
> > >>    org.apache.sling.core.impl.SlingMainServlet.service(
> SlingMainServlet.java:187)
> > >>    org.apache.sling.core.impl.SlingMainServlet.service(
> SlingMainServlet.java:159)
> > >>
> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest
> (ServletRegistration.java:90)
> > >>
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(
> ProxyServlet.java:109)
> > >>    org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(
> ProxyServlet.java:75)
> > >>    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > >>    org.apache.sling.launcher.webapp.SlingServlet.service(
> SlingServlet.java:195)
> > >>
> > >> Seems like somebody is calling getReader() before ParameterSupport
> code
> > >> is executed. But I was not able to figure out where this happens.
> > >>
> > >> Any ideas?
> > >>
> > >> Regards,
> > >> Alex
> > >>
> > >>
> > >
> > >
> >
>
>


-- 
Alexander Saar

Mobile: +49.177.5985437
E-Mail: alexander.saar@gmail.com
Web:    http://alexander.saar.googlepages.com
Blog:   http://weblogs.goshaky.com/weblogs/saar/

Re: File Upload Problem

Posted by Felix Meschberger <fm...@gmail.com>.
Hi Alex,

Sorry for the delay, I just found (and hopefully fixed) the problem. It
is caused by the DefaultSlingScript which gets the request reader. This
causes the exception to be thrown for multipart/form-data requests.

I fix this by using a lazy reader just like we have a lazy writer.

Hope this helps.

Regards
Felix


Am Montag, den 21.01.2008, 16:42 +0100 schrieb Alexander Saar:
> Hi Felix,
> thanks for the reply.
> 
> I switched to using request.getRequestParameterMap() in my POST.jsp, but 
> nothing changed and the error is the same. After inspecting the stack 
> trace and my repository again I think the error occurs when Sling tries 
> to read the input and build the request parameter map, because my script 
> is never compiled or executed (at least there is no compiled class in 
> the repository).
> 
> To verify this I used an simple POST.jsp that just outputs a plain 
> string and does not access any parameters. When I post my file I get the 
> same exception.
> 
> Regards,
> Alex
> 
> 
> Felix Meschberger schrieb:
> > Hi Alexander,
> >
> > If you upload the file with a multipart/form-data POST, Sling will
> > already have read the input and will provide the data in the
> > RequestParameterMap as RequestParameter instances, which allow you
> > access to the uploaded file data.
> >
> > Hope, this helps.
> >
> > Regards
> > Felix
> >
> > Am Montag, den 21.01.2008, 01:01 +0100 schrieb Alexander Saar:
> >   
> >> Hi all,
> >> I have a problem with the file upload in Sling. I have a form that 
> >> uploads a file and an according POST.jsp for handling the upload. The 
> >> log shows that POST.jsp is resolved correct, but when I try to upload 
> >> the file, I get the following exception:
> >>
> >> javax.servlet.ServletException: null
> >> 	org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(DefaultSlingScript.java:97)
> >> 	org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(SlingScriptServlet.java:74)
> >> 	org.apache.sling.core.impl.request.RequestData.service(RequestData.java:415)
> >> 	org.apache.sling.core.impl.SlingMainServlet.processRequest(SlingMainServlet.java:287)
> >> 	org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
> >> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
> >> 	org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(ThemeResolverFilter.java:76)
> >> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> >> 	org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(LocaleResolverFilter.java:85)
> >> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> >> 	org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:206)
> >> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> >> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:187)
> >> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:159)
> >> 	org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
> >> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
> >> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
> >> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> >> 	org.apache.sling.launcher.webapp.SlingServlet.service(SlingServlet.java:195)
> >>
> >> *root cause*
> >>
> >> javax.script.ScriptException: null
> >> 	org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:272)
> >> 	org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(DefaultSlingScript.java:85)
> >> 	org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(SlingScriptServlet.java:74)
> >> 	org.apache.sling.core.impl.request.RequestData.service(RequestData.java:415)
> >> 	org.apache.sling.core.impl.SlingMainServlet.processRequest(SlingMainServlet.java:287)
> >> 	org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
> >> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
> >> 	org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(ThemeResolverFilter.java:76)
> >> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> >> 	org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(LocaleResolverFilter.java:85)
> >> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> >> 	org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:206)
> >> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> >> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:187)
> >> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:159)
> >> 	org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
> >> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
> >> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
> >> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> >> 	org.apache.sling.launcher.webapp.SlingServlet.service(SlingServlet.java:195)
> >>
> >> *root cause*
> >>
> >> java.lang.IllegalStateException: getReader() has already been called for this request
> >> 	org.apache.catalina.connector.Request.getInputStream(Request.java:978)
> >> 	org.apache.catalina.connector.RequestFacade.getInputStream(RequestFacade.java:340)
> >> 	javax.servlet.ServletRequestWrapper.getInputStream(ServletRequestWrapper.java:146)
> >> 	org.apache.commons.fileupload.servlet.ServletRequestContext.getInputStream(ServletRequestContext.java:92)
> >> 	org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:329)
> >> 	org.apache.sling.core.impl.parameters.ParameterSupport.parseMultiPartPost(ParameterSupport.java:166)
> >> 	org.apache.sling.core.impl.parameters.ParameterSupport.getRequestParameterMapInternal(ParameterSupport.java:110)
> >> 	org.apache.sling.core.impl.parameters.ParameterSupport.getRequestParameter(ParameterSupport.java:87)
> >> 	org.apache.sling.core.impl.parameters.ParameterSupport.getParameter(ParameterSupport.java:68)
> >> 	org.apache.sling.core.impl.SlingHttpServletRequestImpl.getParameter(SlingHttpServletRequestImpl.java:125)
> >> 	org.apache.sling.scripting.jsp.JspServletWrapperAdapter.preCompile(JspServletWrapperAdapter.java:78)
> >> 	org.apache.sling.scripting.jsp.JspServletWrapperAdapter.service(JspServletWrapperAdapter.java:49)
> >> 	org.apache.sling.scripting.jsp.JspScriptEngineFactory.callJsp(JspScriptEngineFactory.java:126)
> >> 	org.apache.sling.scripting.jsp.JspScriptEngineFactory.access$000(JspScriptEngineFactory.java:71)
> >> 	org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:268)
> >> 	org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(DefaultSlingScript.java:85)
> >> 	org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(SlingScriptServlet.java:74)
> >> 	org.apache.sling.core.impl.request.RequestData.service(RequestData.java:415)
> >> 	org.apache.sling.core.impl.SlingMainServlet.processRequest(SlingMainServlet.java:287)
> >> 	org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
> >> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
> >> 	org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(ThemeResolverFilter.java:76)
> >> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> >> 	org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(LocaleResolverFilter.java:85)
> >> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> >> 	org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:206)
> >> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> >> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:187)
> >> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:159)
> >> 	org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
> >> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
> >> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
> >> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> >> 	org.apache.sling.launcher.webapp.SlingServlet.service(SlingServlet.java:195)
> >>
> >> Seems like somebody is calling getReader() before ParameterSupport code 
> >> is executed. But I was not able to figure out where this happens.
> >>
> >> Any ideas?
> >>
> >> Regards,
> >> Alex
> >>
> >>     
> >
> >   
> 


Re: File Upload Problem

Posted by Alexander Saar <al...@googlemail.com>.
Hi Felix,
thanks for the reply.

I switched to using request.getRequestParameterMap() in my POST.jsp, but 
nothing changed and the error is the same. After inspecting the stack 
trace and my repository again I think the error occurs when Sling tries 
to read the input and build the request parameter map, because my script 
is never compiled or executed (at least there is no compiled class in 
the repository).

To verify this I used an simple POST.jsp that just outputs a plain 
string and does not access any parameters. When I post my file I get the 
same exception.

Regards,
Alex


Felix Meschberger schrieb:
> Hi Alexander,
>
> If you upload the file with a multipart/form-data POST, Sling will
> already have read the input and will provide the data in the
> RequestParameterMap as RequestParameter instances, which allow you
> access to the uploaded file data.
>
> Hope, this helps.
>
> Regards
> Felix
>
> Am Montag, den 21.01.2008, 01:01 +0100 schrieb Alexander Saar:
>   
>> Hi all,
>> I have a problem with the file upload in Sling. I have a form that 
>> uploads a file and an according POST.jsp for handling the upload. The 
>> log shows that POST.jsp is resolved correct, but when I try to upload 
>> the file, I get the following exception:
>>
>> javax.servlet.ServletException: null
>> 	org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(DefaultSlingScript.java:97)
>> 	org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(SlingScriptServlet.java:74)
>> 	org.apache.sling.core.impl.request.RequestData.service(RequestData.java:415)
>> 	org.apache.sling.core.impl.SlingMainServlet.processRequest(SlingMainServlet.java:287)
>> 	org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
>> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
>> 	org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(ThemeResolverFilter.java:76)
>> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
>> 	org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(LocaleResolverFilter.java:85)
>> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
>> 	org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:206)
>> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
>> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:187)
>> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:159)
>> 	org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>> 	org.apache.sling.launcher.webapp.SlingServlet.service(SlingServlet.java:195)
>>
>> *root cause*
>>
>> javax.script.ScriptException: null
>> 	org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:272)
>> 	org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(DefaultSlingScript.java:85)
>> 	org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(SlingScriptServlet.java:74)
>> 	org.apache.sling.core.impl.request.RequestData.service(RequestData.java:415)
>> 	org.apache.sling.core.impl.SlingMainServlet.processRequest(SlingMainServlet.java:287)
>> 	org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
>> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
>> 	org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(ThemeResolverFilter.java:76)
>> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
>> 	org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(LocaleResolverFilter.java:85)
>> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
>> 	org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:206)
>> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
>> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:187)
>> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:159)
>> 	org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>> 	org.apache.sling.launcher.webapp.SlingServlet.service(SlingServlet.java:195)
>>
>> *root cause*
>>
>> java.lang.IllegalStateException: getReader() has already been called for this request
>> 	org.apache.catalina.connector.Request.getInputStream(Request.java:978)
>> 	org.apache.catalina.connector.RequestFacade.getInputStream(RequestFacade.java:340)
>> 	javax.servlet.ServletRequestWrapper.getInputStream(ServletRequestWrapper.java:146)
>> 	org.apache.commons.fileupload.servlet.ServletRequestContext.getInputStream(ServletRequestContext.java:92)
>> 	org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:329)
>> 	org.apache.sling.core.impl.parameters.ParameterSupport.parseMultiPartPost(ParameterSupport.java:166)
>> 	org.apache.sling.core.impl.parameters.ParameterSupport.getRequestParameterMapInternal(ParameterSupport.java:110)
>> 	org.apache.sling.core.impl.parameters.ParameterSupport.getRequestParameter(ParameterSupport.java:87)
>> 	org.apache.sling.core.impl.parameters.ParameterSupport.getParameter(ParameterSupport.java:68)
>> 	org.apache.sling.core.impl.SlingHttpServletRequestImpl.getParameter(SlingHttpServletRequestImpl.java:125)
>> 	org.apache.sling.scripting.jsp.JspServletWrapperAdapter.preCompile(JspServletWrapperAdapter.java:78)
>> 	org.apache.sling.scripting.jsp.JspServletWrapperAdapter.service(JspServletWrapperAdapter.java:49)
>> 	org.apache.sling.scripting.jsp.JspScriptEngineFactory.callJsp(JspScriptEngineFactory.java:126)
>> 	org.apache.sling.scripting.jsp.JspScriptEngineFactory.access$000(JspScriptEngineFactory.java:71)
>> 	org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:268)
>> 	org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(DefaultSlingScript.java:85)
>> 	org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(SlingScriptServlet.java:74)
>> 	org.apache.sling.core.impl.request.RequestData.service(RequestData.java:415)
>> 	org.apache.sling.core.impl.SlingMainServlet.processRequest(SlingMainServlet.java:287)
>> 	org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
>> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
>> 	org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(ThemeResolverFilter.java:76)
>> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
>> 	org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(LocaleResolverFilter.java:85)
>> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
>> 	org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:206)
>> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
>> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:187)
>> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:159)
>> 	org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>> 	org.apache.sling.launcher.webapp.SlingServlet.service(SlingServlet.java:195)
>>
>> Seems like somebody is calling getReader() before ParameterSupport code 
>> is executed. But I was not able to figure out where this happens.
>>
>> Any ideas?
>>
>> Regards,
>> Alex
>>
>>     
>
>   


Re: File Upload Problem

Posted by Felix Meschberger <fm...@gmail.com>.
Hi Alexander,

If you upload the file with a multipart/form-data POST, Sling will
already have read the input and will provide the data in the
RequestParameterMap as RequestParameter instances, which allow you
access to the uploaded file data.

Hope, this helps.

Regards
Felix

Am Montag, den 21.01.2008, 01:01 +0100 schrieb Alexander Saar:
> Hi all,
> I have a problem with the file upload in Sling. I have a form that 
> uploads a file and an according POST.jsp for handling the upload. The 
> log shows that POST.jsp is resolved correct, but when I try to upload 
> the file, I get the following exception:
> 
> javax.servlet.ServletException: null
> 	org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(DefaultSlingScript.java:97)
> 	org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(SlingScriptServlet.java:74)
> 	org.apache.sling.core.impl.request.RequestData.service(RequestData.java:415)
> 	org.apache.sling.core.impl.SlingMainServlet.processRequest(SlingMainServlet.java:287)
> 	org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
> 	org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(ThemeResolverFilter.java:76)
> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> 	org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(LocaleResolverFilter.java:85)
> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> 	org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:206)
> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:187)
> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:159)
> 	org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> 	org.apache.sling.launcher.webapp.SlingServlet.service(SlingServlet.java:195)
> 
> *root cause*
> 
> javax.script.ScriptException: null
> 	org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:272)
> 	org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(DefaultSlingScript.java:85)
> 	org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(SlingScriptServlet.java:74)
> 	org.apache.sling.core.impl.request.RequestData.service(RequestData.java:415)
> 	org.apache.sling.core.impl.SlingMainServlet.processRequest(SlingMainServlet.java:287)
> 	org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
> 	org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(ThemeResolverFilter.java:76)
> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> 	org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(LocaleResolverFilter.java:85)
> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> 	org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:206)
> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:187)
> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:159)
> 	org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> 	org.apache.sling.launcher.webapp.SlingServlet.service(SlingServlet.java:195)
> 
> *root cause*
> 
> java.lang.IllegalStateException: getReader() has already been called for this request
> 	org.apache.catalina.connector.Request.getInputStream(Request.java:978)
> 	org.apache.catalina.connector.RequestFacade.getInputStream(RequestFacade.java:340)
> 	javax.servlet.ServletRequestWrapper.getInputStream(ServletRequestWrapper.java:146)
> 	org.apache.commons.fileupload.servlet.ServletRequestContext.getInputStream(ServletRequestContext.java:92)
> 	org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:329)
> 	org.apache.sling.core.impl.parameters.ParameterSupport.parseMultiPartPost(ParameterSupport.java:166)
> 	org.apache.sling.core.impl.parameters.ParameterSupport.getRequestParameterMapInternal(ParameterSupport.java:110)
> 	org.apache.sling.core.impl.parameters.ParameterSupport.getRequestParameter(ParameterSupport.java:87)
> 	org.apache.sling.core.impl.parameters.ParameterSupport.getParameter(ParameterSupport.java:68)
> 	org.apache.sling.core.impl.SlingHttpServletRequestImpl.getParameter(SlingHttpServletRequestImpl.java:125)
> 	org.apache.sling.scripting.jsp.JspServletWrapperAdapter.preCompile(JspServletWrapperAdapter.java:78)
> 	org.apache.sling.scripting.jsp.JspServletWrapperAdapter.service(JspServletWrapperAdapter.java:49)
> 	org.apache.sling.scripting.jsp.JspScriptEngineFactory.callJsp(JspScriptEngineFactory.java:126)
> 	org.apache.sling.scripting.jsp.JspScriptEngineFactory.access$000(JspScriptEngineFactory.java:71)
> 	org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:268)
> 	org.apache.sling.scripting.resolver.impl.DefaultSlingScript.eval(DefaultSlingScript.java:85)
> 	org.apache.sling.servlet.resolver.helper.SlingScriptServlet.service(SlingScriptServlet.java:74)
> 	org.apache.sling.core.impl.request.RequestData.service(RequestData.java:415)
> 	org.apache.sling.core.impl.SlingMainServlet.processRequest(SlingMainServlet.java:287)
> 	org.apache.sling.core.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
> 	org.apache.sling.core.impl.filter.ThemeResolverFilter.doFilter(ThemeResolverFilter.java:76)
> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> 	org.apache.sling.core.impl.filter.LocaleResolverFilter.doFilter(LocaleResolverFilter.java:85)
> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> 	org.apache.sling.core.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:206)
> 	org.apache.sling.core.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:187)
> 	org.apache.sling.core.impl.SlingMainServlet.service(SlingMainServlet.java:159)
> 	org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
> 	org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> 	org.apache.sling.launcher.webapp.SlingServlet.service(SlingServlet.java:195)
> 
> Seems like somebody is calling getReader() before ParameterSupport code 
> is executed. But I was not able to figure out where this happens.
> 
> Any ideas?
> 
> Regards,
> Alex
>