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