Try changing to:

 @InjectObject("engine-service:ical")
 public abstract IEngineService getIcal();


On 10/28/06, Warner Onstine <[EMAIL PROTECTED]> wrote:

Ok,
I've updated the getName():
     public String getName() {
         return "ical";
     }
which now matches the definition in the hivemodule.xml:
        <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>

When I hit UpcomingEvents.html I still get the stack trace and
nothing in the console (catalina.out) about the service being discarded.

Here is the complete stack trace:

No engine service named '<SingletonProxy for
eventscalendar.ICalService(org.apache.tapestry.engine.IEngineService)
>' is available.

Stack Trace:
org.apache.tapestry.services.impl.ServiceMapImpl.buildProxy
(ServiceMapImpl.java:143)
org.apache.tapestry.services.impl.ServiceMapImpl.getService
(ServiceMapImpl.java:105)
$ServiceMap_10e90805ee1.getService($ServiceMap_10e90805ee1.java)
org.apache.tapestry.engine.AbstractEngine.getService
(AbstractEngine.java:164)
org.apache.tapestry.link.AbstractLinkComponent.getLink
(AbstractLinkComponent.java:197)
org.apache.tapestry.link.ServiceLink.getLink(ServiceLink.java:38)
org.apache.tapestry.link.DefaultLinkRenderer.constructURL
(DefaultLinkRenderer.java:112)
org.apache.tapestry.link.DefaultLinkRenderer.renderLink
(DefaultLinkRenderer.java:62)
org.apache.tapestry.link.AbstractLinkComponent.renderComponent
(AbstractLinkComponent.java:95)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
org.apache.tapestry.AbstractComponent.renderBody
(AbstractComponent.java:434)
org.apache.tapestry.components.RenderBody.renderComponent
(RenderBody.java:44)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
org.apache.tapestry.AbstractComponent.renderBody
(AbstractComponent.java:434)
org.apache.tapestry.html.Body.renderComponent(Body.java:129)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
org.apache.tapestry.AbstractComponent.renderBody
(AbstractComponent.java:434)
org.apache.tapestry.html.Shell.renderComponent(Shell.java:115)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:275)
org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:
366)
org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse
(ResponseRendererImpl.java:71)
$ResponseRenderer_10e90805ec8.renderResponse
($ResponseRenderer_10e90805ec8.java)
$ResponseRenderer_10e90805ec7.renderResponse
($ResponseRenderer_10e90805ec7.java)
org.apache.tapestry.engine.HomeService.service(HomeService.java:65)
$IEngineService_10e90805f2d.service($IEngineService_10e90805f2d.java)
org.apache.tapestry.services.impl.EngineServiceInnerProxy.service
(EngineServiceInnerProxy.java:77)
org.apache.tapestry.services.impl.EngineServiceOuterProxy.service
(EngineServiceOuterProxy.java:66)
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:
248)
org.apache.tapestry.services.impl.InvokeEngineTerminator.service
(InvokeEngineTerminator.java:60)
$WebRequestServicer_10e90805f10.service
($WebRequestServicer_10e90805f10.java)
$WebRequestServicer_10e90805f0f.service
($WebRequestServicer_10e90805f0f.java)
$WebRequestServicer_10e90805f0c.service
($WebRequestServicer_10e90805f0c.java)
$WebRequestServicer_10e90805f0b.service
($WebRequestServicer_10e90805f0b.java)
org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.servi
ce(WebRequestServicerPipelineBridge.java:56)
$ServletRequestServicer_10e90805ef2.service
($ServletRequestServicer_10e90805ef2.java)
$ServletRequestServicer_10e90805ef1.service
($ServletRequestServicer_10e90805ef1.java)
org.apache.tapestry.request.DecodedRequestInjector.service
(DecodedRequestInjector.java:55)
$ServletRequestServicerFilter_10e90805eee.service
($ServletRequestServicerFilter_10e90805eee.java)
$ServletRequestServicerFilter_10e90805eed.service
($ServletRequestServicerFilter_10e90805eed.java)
$ServletRequestServicer_10e90805ef3.service
($ServletRequestServicer_10e90805ef3.java)
org.apache.tapestry.multipart.MultipartDecoderFilter.service
(MultipartDecoderFilter.java:52)
$ServletRequestServicerFilter_10e90805eec.service
($ServletRequestServicerFilter_10e90805eec.java)
$ServletRequestServicerFilter_10e90805eeb.service
($ServletRequestServicerFilter_10e90805eeb.java)
$ServletRequestServicer_10e90805ef3.service
($ServletRequestServicer_10e90805ef3.java)
org.apache.tapestry.services.impl.SetupRequestEncoding.service
(SetupRequestEncoding.java:53)
$ServletRequestServicerFilter_10e90805ef0.service
($ServletRequestServicerFilter_10e90805ef0.java)
$ServletRequestServicerFilter_10e90805eef.service
($ServletRequestServicerFilter_10e90805eef.java)
$ServletRequestServicer_10e90805ef3.service
($ServletRequestServicer_10e90805ef3.java)
$ServletRequestServicer_10e90805ee6.service
($ServletRequestServicer_10e90805ee6.java)
$ServletRequestServicer_10e90805ee5.service
($ServletRequestServicer_10e90805ee5.java)
org.apache.tapestry.ApplicationServlet.doService
(ApplicationServlet.java:123)
org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:237)
org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:157)
org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:214)
org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
org.apache.catalina.core.StandardContextValve.invokeInternal
(StandardContextValve.java:198)
org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:152)
org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:137)
org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:118)
org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:102)
org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
799)
org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:
577)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:683)
java.lang.Thread.run(Thread.java:613)

UpcomingEvents.java (should be the important bits):

     @InjectObject("service:eventscalendar.ICalService")
     public abstract IEngineService getIcal();

     public ICalService.CalendarType getCalendarType() {
         return CalendarType.Week;
     }

Let me know if you need more.

-warner

On Oct 28, 2006, at 10:02 AM, Howard Lewis Ship wrote:

> 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


---------------------------------------------------------------------
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

Reply via email to