Thanks for your quick reply. Ok, seems like I mixed something up. What I want to do is to use my class ExternalPageServiceExcoder (implements ServiceEncoder) in order covert the query parameters into path info. How can I achieve that my class ExternalPageServiceEncoder is used instead of the default PageServiceEncoder for external pages?
Best regards, Björn Howard Lewis Ship wrote: >Looks like you are confusing two different, but related, concepts. > >An engine service is, within Tapestry, much like a traditional >servlet. It will receive a request, deciding what to do based on query >parameters, and sending back a response. > >A ServiceEncoder is different; it is used to convert a bundle of query >parameters, meaningful to the engine service, and encodes that >information into (generally speaking) path info, including file >extensions. The ServiceEncoder also reverses, recognizing path info >it may have encoded and converting it back into query parameters >meaningful to the engine service. > >I'm not quite sure what happened with this snippet; most likely either >it was not picked up, or it will eventually cause a runtime exception. > Contributions to the ApplicationServices configuration point should >implement the IEngineService interface, not the ServiceEncoder >interface. > >On 7/3/05, Bjoern Krollner <[EMAIL PROTECTED]> wrote: > > >>Hello everybody, >> >>I would like to use a custom ServiceEnoder in my application for >>external pages. I am using Tapestry 4.0 and I tried to configure the >>hivemodule.xml like described in the documentation but I did not have >>had any success so far. Here is my hivemodule.xml: >> >><module id="testapp" version="1.0.0" package="de.krollner.testapp"> >> >> <contribution >>configuration-id="tapestry.services.ApplicationServices"> >> <service name="externalpage" object="service:ExternalPage"/> >> </contribution> >> >> <service-point id="externalpage" >>interface="org.apache.tapestry.engine.ServiceEncoder"> >> <invoke-factory> >> <construct class="server.webclient.ExternalPageServiceEncoder"> >> <read-attribute attribute="extension" property="extension"/> >> <read-attribute attribute="serviceName" property="service"/> >> </construct> >> </invoke-factory> >> </service-point> >> >> <contribution configuration-id="tapestry.url.ServiceEncoders"> >> <direct-service-encoder id="direct" stateless-extension="direct" >>stateful-extension="sdirect"/> >> <page-service-encoder id="page" extension="page" service="page"/> >> <page-service-encoder id="external" extension="html" >>service="service:ExternalPage"/> >> <asset-encoder id="asset" path="/assets/"/> >> >> <extension-encoder id="ext" extension="svc" after="*"/> >> </contribution> >> >></module> >> >>Did I do anything wrong? Thanks for your help. >> >>Best regards, >> >>Björn >> >>--------------------------------------------------------------------- >>To unsubscribe, e-mail: [EMAIL PROTECTED] >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
