> From: Kai Bruns [mailto:[EMAIL PROTECTED]]
> 
> 
> I'm using Cocoon 2.0.1 on Tomcat 4.0.1. I've set up my main sitemap to
> match different sub-uris and then mount a sub-sitemap for the
corresponding
> sub-directory the way it's done in the cocoon sub-sitemap example. In
> addition I want to do user authentication for a whole subsitemap in
the
> main sitemap this way:
> 
> 
> <map:match pattern="sub/**">
>   <map:act type="session-validator">
>     <map:parameter name="descriptor" value
> ="context://descriptors/params.xml"/>
>     <map:parameter name="validate" value="username"/>
>   </map:act>
>   <!-- something was wrong, redirect to login page -->
>   <map:redirect-to uri="../login"/>
> </map:match>
> 
> 
> So far so good, although I do not understand why I must use
> <map:redirect-to uri="../login"/> with prefix '../' in my main
sitemap,
> maybe that's already a hint for a problem.
> 
> What I wanted to do is to access the sitemap param 'username' in the
> subsitemap, which does not work.

You are right. This does not work.

Vadim

> I tried the following entry in my
> subsitemap:
> 
> 
> <map:match pattern="*.html">
>   <map:generate src="docs/{1}.xml"/>
>   <map:transform src="../stylesheets/mystyle.xsl">
>     <map:parameter name="use-request-parameters" value="true"/>
>     <map:parameter name="username" value="{../username}"/>
>   </map:transform>
>   <map:serialize/>
> </map:match>
> 
> 
> That throws an Exception when calling a subsite page (being already
> authenticated, of course):
> 
> org.apache.cocoon.sitemap.PatternException: error occurred during
> evaluation of expression "{../username}" at position 1 Index: -1,
Size: 1
> at
>
org.apache.cocoon.sitemap.AbstractSitemap.substitute(AbstractSitemap.jav
a:322)
> 
> at
>
org.apache.cocoon.www.region.sitemap_xmap.matchN100BE(sitemap_xmap.java:
1029)
> 
> at
org.apache.cocoon.www.region.sitemap_xmap.process(sitemap_xmap.java:600)
> at
org.apache.cocoon.www.region.sitemap_xmap.process(sitemap_xmap.java:518)
> at org.apache.cocoon.sitemap.Handler.process(Handler.java:180) at
> org.apache.cocoon.sitemap.Manager.invoke(Manager.java:127) at
> org.apache.cocoon.www.sitemap_xmap.matchN10250(sitemap_xmap.java:1991)
at
> org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1437) at
> org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1348) at
> org.apache.cocoon.sitemap.Handler.process(Handler.java:180) at
> org.apache.cocoon.sitemap.Manager.invoke(Manager.java:127) at
>
org.apache.cocoon.sitemap.SitemapManager.process(SitemapManager.java:144
)
> at org.apache.cocoon.Cocoon.process(Cocoon.java:582) at
>
org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:795)
at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFi
> lterChain.java:247)
> 
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChai
> n.java:193)
> 
> at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java
> :243)
> 
> at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566
> )
> 
> at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
> at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java
> :201)
> 
> at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566
> )
> 
> at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
> at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at
>
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:234
4)
> at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:164)
> 
> at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566
> )
> 
> at
>
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.ja
> va:170)
> 
> at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564
> )
> 
> at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:170)
> 
> at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564
> )
> 
> at
>
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462
)
> at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564
> )
> 
> at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
> at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:1
> 63)
> 
> at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566
> )
> 
> at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
> at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at
>
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.j
ava:10
> 11)
> 
> at
>
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:
1106)
> 
> at java.lang.Thread.run(Thread.java:484)
> 
> 
> I also tried to use {username} instead if {../username} which of
course did
> not work because there is no sitemap param username on the param stack
top.
> 
> Did I expect the wrong behaviour in param-handling when using
<map:mount>
> or did I do any other mistake?
> 
> Thanks for help,
> 
> 
> Dipl.-Inform. Kai Bruns
> regio gmbh
> Institut für Regionalentwicklung und Informationssysteme
> an der Carl von Ossietzky Universität Oldenburg
> D-26111 Oldenburg
> Tel ++49 (0)441 798-2827
> Fax ++49 (0)441 798-3002
> eMail [EMAIL PROTECTED]
> http://www.regio.uni-oldenburg.de
> 


---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail: <[EMAIL PROTECTED]>

Reply via email to