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]