Rainer Pruy pisze:
> Hallo,
> I got somehow lost on trying to change from a 2.1.x habit of using 
> map:resource referencing pipelines via "cocoon:" protocol to
> something more appropriate with cocoon 2.2.
> 
> As I failed miserably on finding a suitable reference on this, I'm trying 
> with the list.....
> 
> From available doc and following infos from the list I got convinced that 
> using servlet: protocol is the way to go.
> However, with such I always get "No dispatcher" errors.

Hello Rainer,

Although I'm not familiar to "No dispatcher" error I will try to be helpful.

> The relevant pipeline fragment is currently:
> 
> 
> ------------------------------
>   <map:pipelines>
>            <map:match pattern="**">
>                    <map:aggregate element="page" 
> ns="http://www.acrys.com/risc-1.0"; prefix="ns" label="content">
>                            <map:part src="servlet:research:/research-nav"/>
>                            <map:part src="servlet:research:/research-src"/>
>                    </map:aggregate>
>                    <map:transform src="resource/internal/page.xsl"/>
>                    <map:serialize type="html"/>
>            </map:match>
>     </map:pipeline>

First of all, if you reference pipeline from the same sitemap you can drop 
connection name and use
shortened version, e.g.:
servlet:/research-nav

>    <map:pipeline id="parts" internal-only="true">

I'm not 100% sure but I guess that servlet: won't work with internal-only 
pipelines because pipeline
engine does not recognize servlet: requests as coming from Cocoon. If my guess 
is right, it's
definitively a bug but fix for it should be quite trivial. If you confirm there 
is a bug, create a
bug report, please.

>          <map:match name="research-nav">
>                  <map:generate type="research">
>                      <map:parameter name="mode" value="navigate"/>
>                          <map:parameter name="modeinfo" value="../{1}"/>
>                          <map:parameter name="area" 
> value="{request-param:area}"/>
>                      <map:parameter name="idx" value="{request-param:idx}"/>
>                  </map:generate>
>          </map:match>
>          <map:match name="research-src">
>                   <map:generate type="research">
>                       <map:parameter name="mode" value="../{1}"/>
>                           <map:parameter name="area" 
> value="{request-param:area}"/>
>                           <map:parameter name="idx" 
> value="{request-param:idx}"/>
>               </map:generate>
>          </map:match>
>            <map:match pattern="navigate">
>                  <map:generate type="research">
>                      <map:parameter name="mode" value="navigate"/>
>                          <map:parameter name="modeinfo" value="summary"/>
>                          <map:parameter name="area" 
> value="{request-param:area}"/>
>                      <map:parameter name="idx" value="{request-param:idx}"/>
>                  </map:generate>
>                  <map:transform src="resource/internal/page.xsl"/>
>                  <map:serialize type="html"/>
>            </map:match>
>  </map:pipelines>
> ------------------------------
> (The "research" generator is a special local component)
> 
> The block is mapped to prefix "/research".
> Using url "http://localhost:8888/research/summary"; from a browser leads to an 
> error page being shown

I guess you are confusing here two things: mount-path ("/research") and 
connections between
servlets. If it's the same servlet (the same sitemap) you don't need any 
connection name.

I hope that helps a little.

-- 
Grzegorz Kossakowski
Committer and PMC Member of Apache Cocoon
http://reflectingonthevicissitudes.wordpress.com/

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

Reply via email to