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 andnothing in the console (catalina.out) about the service being discarded.Here is the complete stack trace: No engine service named '<SingletonProxy foreventscalendar.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 ervice(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]