tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sharun superstar <saravanan.nedunchezhi...@gmail.com>
Subject Re: [OT] Regarding missing requst parameter infos in RequestFacade
Date Fri, 30 Sep 2011 12:51:43 GMT
Hi Christopher,
              Thanks for the reply. I still have confusion it may be related
to tomcat based on the scenario that
even RequestFacade doesnt have request parameter values but has sessionid,
querystring, hostname etc

My request is processed as doGet, and all the process go smooth until it hit
global sitemap (cocoon) of my webapp.
There I just use the request parameter and do a parameterselecttest based on
my req-param.

here is the sample code: (Global sitemap)

<map:match pattern="myapps/**">
                   <map:act type="debugaction"> <!-- just to see
RequestFacade values -->
                        <map:parameter name="sessionid"
value="{request-param:jsessionid}"/> (empty sometimes with retry of same
request!)
                        <map:parameter name="requst_query"
value="{request:queryString}" />   (always there in all tries)
                    </map:act>
                <map:select type="regexp-header-wget">
                    <map:parameter name="header-name" value="user-agent" />
                    <map:when test="wget" />
                    <map:when test="java" />
                    <map:otherwise>
                        <map:mount check-reload="yes"
src="myapp/sitemap.xmap" uri-prefix="myapp" pass-through="true" />
                    </map:otherwise>
                </map:select>
            </map:match>

when the request hits the match pattern and I use a simple action which has
get the parameter values.
The strange thing I used to get sessionid as empty when try to get from
request parameter but in request I
has sessionid, querystring and all values I need.

The request parameter is not there even in RequestFacade too.

I will check http request and response also.

Thanks!

with regards,
Saravanan.N

On Thu, Sep 29, 2011 at 5:55 PM, Christopher Schultz <
chris@christopherschultz.net> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Sharun,
>
> Marking OT because this is almost certainly not a Tomcat issue, but
> Cocoon configuration or something else.
>
> On 9/29/2011 9:27 AM, Sharun superstar wrote:
> > I am using cocoon 2.1.9 as my web application frame work on tomcat
> > 6.0.33
>
> I'm on Cocoon 2.1.11. You and me both need to upgrade badly! I also
> happen to be using Tomcat 6.0.32 in production.
>
> > I get strange problem that I get request object and also able to
> > get values of querystring and sessionid from the request object.
> > (RequestFacade)
>
> So... that's how things are supposed to work, so that's not a problem.
>
> > But when try to get request-parameter using the same object it some
> > times gives empty as value.(even if the request parameter is there
> > in the request).
>
> Exactly what does your configuration look like? We have pipelines like
> this:
>    <map:match pattern="report/full.xml">
>      <map:generate
> src="{global:base-url}/report.xml.do
> ;jsessionid={request:requestedSessionId}?id={request-param:id}"
> />
>
>      <map:transform
> src="{global:stylesheet-url}/responses-to-cinclude.xsl">
>        <map:parameter name="base-url" value="{global:base-url}" />
>        <map:parameter name="include-foo"
>                      value="{request-param:include-foo}" />
>      </map:transform>
>
>      <map:transform
> src="{global:stylesheet-url}/resources-to-cinclude.xsl">
>        <map:parameter name="rsid-param" value="{request-param:rsid}" />
>      </map:transform>
>
>      <map:transform type="cinclude" />
>
>      <map:serialize type="xml" />
>    </map:match>
>
> The above {request-param:foo} settings seem to work reliably for me.
> All of our requests are GET... all POST requests are handled by
> non-Cocoon-based code.
>
> > Refreshing the same request url on browser (Firefox) again give me
> > request parameter but consequent tries ends in empty
> > request-parameter.
>
> That's certainly strange. Have you tried observing the HTTP traffic
> using something like fiddler, LiveHTTPHeaders, etc. to see what the
> client is sending?
>
> > I need help that how to check at which point the request parameter
> > is initialized by tomcat.
>
> Request parameters are read from POST requests the first time any of
> the ServletRequest.getParameter* family of methods are called. I'm not
> entirely sure when GET parameters are parsed... probably at the same
> time. If you use {request-param:foo}, that will translate (eventually)
> into a call to ServletRequest.getParameter("foo"), so this should work
> consistently.
>
> - -chris
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAk6ElQ0ACgkQ9CaO5/Lv0PCqOgCeLMRx2dQOONiQAYHCjf3zH/d/
> iXYAoJcaWJK7kjmDP4spi3bkKu+sccla
> =Kiw1
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message