After some more diging I decided to try some other things and now have a new (stranger error).

I removed the injectobject annotation and replaced it with this in the UpcomingEvents.page: <inject property="icalService" object="service:eventscalendar.ICalService"/>

I also lower-case the "c" on the method thinking that might be causing ognl to freak out.
public abstract IEngineService getIcalService();

finally I moved the service-point above the AppServices declaration in the hivemodule thinking it might be a load-order thing (btw I know that hivemodule is getting loaded properly because I have friendly URLs working properly):
   <service-point id="ICalService"
                interface="org.apache.tapestry.engine.IEngineService">
                <invoke-factory>
                        <construct 
class="com.sourcebeat.tap101.services.ical.ICalService">
                                <set-object property="eventDAO" 
value="spring:eventDAO"/>
<set-object property="linkFactory" value="infrastructure:linkFactory"/>
                        </construct>
                </invoke-factory>
        </service-point>
        <contribution configuration-id="tapestry.services.ApplicationServices">
                <service name="ical" object="service:eventscalendar.ICalService" 
/>
        </contribution>

Doing all this I now get this error (clearly something is just not right in either my config or something else):
No engine service named 'null' 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_10e921aa0f0.getService($ServiceMap_10e921aa0f0.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_10e921aa0d7.renderResponse ($ResponseRenderer_10e921aa0d7.java) $ResponseRenderer_10e921aa0d6.renderResponse ($ResponseRenderer_10e921aa0d6.java)
org.apache.tapestry.engine.PageService.service(PageService.java:68)
$IEngineService_10e921aa142.service($IEngineService_10e921aa142.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_10e921aa11f.service ($WebRequestServicer_10e921aa11f.java) $WebRequestServicer_10e921aa11e.service ($WebRequestServicer_10e921aa11e.java) $WebRequestServicer_10e921aa11b.service ($WebRequestServicer_10e921aa11b.java) $WebRequestServicer_10e921aa11a.service ($WebRequestServicer_10e921aa11a.java) org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.servi ce(WebRequestServicerPipelineBridge.java:56) $ServletRequestServicer_10e921aa101.service ($ServletRequestServicer_10e921aa101.java) $ServletRequestServicer_10e921aa100.service ($ServletRequestServicer_10e921aa100.java) org.apache.tapestry.request.DecodedRequestInjector.service (DecodedRequestInjector.java:55) $ServletRequestServicerFilter_10e921aa0fd.service ($ServletRequestServicerFilter_10e921aa0fd.java) $ServletRequestServicerFilter_10e921aa0fc.service ($ServletRequestServicerFilter_10e921aa0fc.java) $ServletRequestServicer_10e921aa102.service ($ServletRequestServicer_10e921aa102.java) org.apache.tapestry.multipart.MultipartDecoderFilter.service (MultipartDecoderFilter.java:52) $ServletRequestServicerFilter_10e921aa0fb.service ($ServletRequestServicerFilter_10e921aa0fb.java) $ServletRequestServicerFilter_10e921aa0fa.service ($ServletRequestServicerFilter_10e921aa0fa.java) $ServletRequestServicer_10e921aa102.service ($ServletRequestServicer_10e921aa102.java) org.apache.tapestry.services.impl.SetupRequestEncoding.service (SetupRequestEncoding.java:53) $ServletRequestServicerFilter_10e921aa0ff.service ($ServletRequestServicerFilter_10e921aa0ff.java) $ServletRequestServicerFilter_10e921aa0fe.service ($ServletRequestServicerFilter_10e921aa0fe.java) $ServletRequestServicer_10e921aa102.service ($ServletRequestServicer_10e921aa102.java) $ServletRequestServicer_10e921aa0f5.service ($ServletRequestServicer_10e921aa0f5.java) $ServletRequestServicer_10e921aa0f4.service ($ServletRequestServicer_10e921aa0f4.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)

-warner

On Oct 28, 2006, at 6:34 PM, Warner Onstine wrote:

Ok, I've made that change along with some others I'm documenting now:

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


hivemodule.xml - I realized that the service was in a sub-package and that I may need to refer to it by module name

<contribution configuration- id="tapestry.services.ApplicationServices">
                <service name="ical" object="service:eventscalendar.ICalService" 
/>
        </contribution>


        <service-point id="ICalService"
                interface="org.apache.tapestry.engine.IEngineService">
                <invoke-factory model="singleton">
<construct class="com.sourcebeat.tap101.services.ical.ICalService">
                                <set-object property="eventDAO" 
value="spring:eventDAO"/>
<set-object property="linkFactory" value="infrastructure:linkFactory"/>
                        </construct>
                </invoke-factory>
        </service-point>

I also implemented the getLink() method to return a new link created by the linkFactory.createLink() method.

And now I'm getting this error:
No engine service named '<OuterProxy for engine service 'ical'>' 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_10e91ad4107.getService($ServiceMap_10e91ad4107.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_10e91ad40ee.renderResponse ($ResponseRenderer_10e91ad40ee.java) $ResponseRenderer_10e91ad40ed.renderResponse ($ResponseRenderer_10e91ad40ed.java)
org.apache.tapestry.engine.PageService.service(PageService.java:68)
$IEngineService_10e91ad4159.service($IEngineService_10e91ad4159.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_10e91ad4136.service ($WebRequestServicer_10e91ad4136.java) $WebRequestServicer_10e91ad4135.service ($WebRequestServicer_10e91ad4135.java) $WebRequestServicer_10e91ad4132.service ($WebRequestServicer_10e91ad4132.java) $WebRequestServicer_10e91ad4131.service ($WebRequestServicer_10e91ad4131.java) org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.ser vice(WebRequestServicerPipelineBridge.java:56) $ServletRequestServicer_10e91ad4118.service ($ServletRequestServicer_10e91ad4118.java) $ServletRequestServicer_10e91ad4117.service ($ServletRequestServicer_10e91ad4117.java) org.apache.tapestry.request.DecodedRequestInjector.service (DecodedRequestInjector.java:55) $ServletRequestServicerFilter_10e91ad4114.service ($ServletRequestServicerFilter_10e91ad4114.java) $ServletRequestServicerFilter_10e91ad4113.service ($ServletRequestServicerFilter_10e91ad4113.java) $ServletRequestServicer_10e91ad4119.service ($ServletRequestServicer_10e91ad4119.java) org.apache.tapestry.multipart.MultipartDecoderFilter.service (MultipartDecoderFilter.java:52) $ServletRequestServicerFilter_10e91ad4112.service ($ServletRequestServicerFilter_10e91ad4112.java) $ServletRequestServicerFilter_10e91ad4111.service ($ServletRequestServicerFilter_10e91ad4111.java) $ServletRequestServicer_10e91ad4119.service ($ServletRequestServicer_10e91ad4119.java) org.apache.tapestry.services.impl.SetupRequestEncoding.service (SetupRequestEncoding.java:53) $ServletRequestServicerFilter_10e91ad4116.service ($ServletRequestServicerFilter_10e91ad4116.java) $ServletRequestServicerFilter_10e91ad4115.service ($ServletRequestServicerFilter_10e91ad4115.java) $ServletRequestServicer_10e91ad4119.service ($ServletRequestServicer_10e91ad4119.java) $ServletRequestServicer_10e91ad410c.service ($ServletRequestServicer_10e91ad410c.java) $ServletRequestServicer_10e91ad410b.service ($ServletRequestServicer_10e91ad410b.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)

-warner

On Oct 28, 2006, at 5:27 PM, Howard Lewis Ship wrote:

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.renderRespons e
(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.s ervi
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


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