Also, check the console, there should be a log error.
My current theory: service "ical" was discarded because the names didn't match AND the code that outputs the "missing engine service" error message is broken. On 10/28/06, Howard Lewis Ship <[EMAIL PROTECTED]> wrote:
First problem I see: hivemodule.xml: <service name="ical" object="service:ICalService" /> public String getName() { return "ICalService"; } These need to be the same string. Tapestry is checking that the engine service knows its own name, in case it generates any links. I don't think that's your root problem. I need to see the code from UpcomingEvents.java and a readable and complete stack trace. On 10/27/06, Warner Onstine <[EMAIL PROTECTED]> wrote: > > Hi all, > I'm having some difficulties injecting a service, when I reference > the service through a @ServiceLink I get this exception: > org.apache.hivemind.ApplicationRuntimeException > No engine service named '<SingletonProxy for > eventscalendar.ICalService(org.apache.tapestry.engine.IEngineService)>' > is available. > Stack Trace: > > * > org.apache.tapestry.services.impl.ServiceMapImpl.buildProxy(ServiceMapIm > pl.java:143) > * > org.apache.tapestry.services.impl.ServiceMapImpl.getService(ServiceMapIm > pl.java:105) > * $ServiceMap_10e8b71c9d5.getService($ServiceMap_10e8b71c9d5.java) > * > org.apache.tapestry.engine.AbstractEngine.getService ( > AbstractEngine.java > :164) > * > org.apache.tapestry.link.AbstractLinkComponent.getLink(AbstractLinkCompo > nent.java:197) > * org.apache.tapestry.link.ServiceLink.getLink(ServiceLink.java:38) > * > org.apache.tapestry.link.DefaultLinkRenderer.constructURL(DefaultLinkRen > derer.java:112) > * > org.apache.tapestry.link.DefaultLinkRenderer.renderLink(DefaultLinkRende > rer.java:62) > > > Here is my setup: > hivemodule.xml > <module id="eventscalendar" version="4.0.0" > package="com.sourcebeat.tap101.services"> > <contribution configuration- > id="tapestry.services.ApplicationServices "> > <service name="ical" object="service:ICalService" /> > </contribution> > > > <service-point id="ICalService" > interface=" org.apache.tapestry.engine.IEngineService"> > <invoke-factory model="singleton"> > <construct class="ICalService"> > <set-object property="eventDAO" > value="spring:eventDAO"/> > </construct> > </invoke-factory> > </service-point> > </module> > > UpcomingEvents.java (all but the injection ommitted) > @InjectObject("service: eventscalendar.ICalService") > public abstract IEngineService getIcal(); > > UpcomingEvents.html (servicelink call) > <a href="WeeksEvents.ics" jwcid="@ServiceLink" service="ognl:ical" > parameters="ognl:calendarType"/> > > Now one thing I'm not sure on is my service implements the > IEngineService but it returns null on the getLink(), I don't know if > this is the root cause of the error or not. But I thought I'd shoot > this off before testing that theory out. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship TWD Consulting, Inc. Independent J2EE / Open-Source Java Consultant Creator and PMC Chair, Apache Tapestry Creator, Apache HiveMind Professional Tapestry training, mentoring, support and project work. http://howardlewisship.com
-- Howard M. Lewis Ship TWD Consulting, Inc. Independent J2EE / Open-Source Java Consultant Creator and PMC Chair, Apache Tapestry Creator, Apache HiveMind Professional Tapestry training, mentoring, support and project work. http://howardlewisship.com