Hi Andreas,

I think you should use "service-point" instead of "service" (I'm not
sure if this has changed between Tapestry versions)
Try something like this:

        <service-point id="pdf" 
interface="rd.bird.colibri.tapservices.FileService">
                <invoke-factory>
                        <construct 
class="rd.bird.colibri.tapservices.FileService"/>
                </invoke-factory>
        </service-point>


Saludos.
Alejandro.


--
Alejandro Scandroli - http://weblog.amneris.es/
Amneris: We build process-driven web applications.
http://www.amneris.es



On Feb 19, 2008 4:52 PM, Stroeber, Andreas <[EMAIL PROTECTED]> wrote:
> Hi users,
>
> It's driving me crazy. :o(
>
> The thing i want to accomplish is, adding a new service to my tapestry 
> application. Relying on "Enjoying Web Development with Tapestry", it can be 
> done by writing a class implementing the interface IEngineService and 
> furthermore adding some configuration to the file 
> src/META-INF/hivemodule.xml. That should be all to get it work. For example 
> hivemodule.xml could look like this:
>
> <?xml version="1.0"?>
>      <module id="com.ttdev.album" version="1.0.0">
>      <contribution configuration-id="tapestry.services.ApplicationServices">
>           <service name="image" 
> object="instance:com.ttdev.album.ImageService"/>
>      </contribution>
> </module>
>
>
> So I implemented the interface and made my configuration that looks similar 
> to this now:
>
> <?xml version="1.0"?>
> <module id="rd.bird" version="1.0.0">
>     <contribution configuration-id="tapestry.state.ApplicationObjects">
>
>         <!-- PDF-Downloadservice -->
>         <service name="pdf" 
> object="instance:rd.bird.colibri.tapservices.FileService"/>
>
>         <!-- Application User -->
>         <state-object name="asoUser" scope="session">
>             <create-instance 
> class="rd.bird.colibri.objects.UnauthenticatedUser"/>
>         </state-object>
>
>         <!-- Statusmessages  -->
>         <state-object name="asoStatus" scope="session">
>             <create-instance class="rd.bird.colibri.objects.Status"/>
>         </state-object>
>
>         [ . . . ]
>
>     </contribution>
> </module>
>
>
> But now when starting my application, it throws several Exceptions:
>
> [ +/- ] Exception: Unable to construct configuration 
> tapestry.state.ApplicationObjects: Error at 
> file:/D:/z__netbeans_workspace__/Colibri/build/web/WEB-INF/classes/META-INF/hivemodule.xml,
>  line 6, column 88: Element service is not allowed here.
> org.apache.hivemind.ApplicationRuntimeException
> location:        
> file:/D:/z__netbeans_workspace__/Colibri/build/web/WEB-INF/classes/META-INF/hivemodule.xml,
>  line 6, column 88
>
> 1       <?xml version="1.0"?>
> 2       <module id="rd.bird" version="1.0.0">
> 3            <contribution 
> configuration-id="tapestry.state.ApplicationObjects">
> 4
> 5                <!-- PDF-Downloadservice -->
> 6                <service name="pdf" 
> object="instance:rd.bird.colibri.tapservices.FileService"/>
> 7
> 8
> 9
> 10               <!-- Der Benutzer der Anwendung -->
> 11               <state-object name="asoUser" scope="session">
>
> [ +/- ] Exception: Error at 
> file:/D:/z__netbeans_workspace__/Colibri/build/web/WEB-INF/classes/META-INF/hivemodule.xml,
>  line 6, column 88: Element service is not allowed here.
>
>
> I tried several things... A second <contribution> section, ... But i wasn't 
> able to find the definition, where the element should be defined?! Where can 
> i find the corresponding DTD? I wasn't able to find one. Who can help me? 
> Thanks in advance.
>
> For additional information:
> The purpose of all this is a FileService that serves files that request by 
> users. The web application generates links als /app?service=file&id=1234 and 
> the user can download files for example. That's not my favorite way, but it's 
> the only one I know.
>
>
> Best regards
> Andreas Stroeber
>
>
> ---------------------------------------------------------------------
> 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