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]

Reply via email to