Hmm, according to the hivedoc those should be (roughly) the same, one is for Tapestry's factory (what your using) and the other overrides factory defaults and (i believe) is meant to be used externally (if i'm reading the docs right).

http://tapestry.apache.org/tapestry4/tapestry/hivedocs/config/ tapestry.services.ApplicationServices.html

I'll give it a shot though and see if it does something different.

-warner

On Oct 29, 2006, at 7:29 PM, Jesse Kuhnert wrote:

I use the ServiceLink quite often but am not as familiar with the
configuration point you are contributing to. For example, tacos plugs in to the "tapestry.services.FactoryServices" configuration point to add special
services:

http://tacos.svn.sourceforge.net/viewvc/tacos/tacos-4.0/trunk/tacos- core/src/descriptor/META-INF/hivemodule.xml?view=markup

On 10/29/06, Dennis Sinelnikov <[EMAIL PROTECTED]> wrote:

There is a nice example on how to use ServiceLink component with your
own EngineService in Chapter 8 (Handling File Downloads and Uploads) of
"Enjoying Web Development w/ Tapestry" book.  It also has nice
explanations on the "flow"...

Dennis

Warner Onstine wrote:
> 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.se rvice
(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.se rvice
(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.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.se rvi
>>>>
>>>> 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: users- [EMAIL PROTECTED] >>>> >> > For additional commands, e-mail: users- [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]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Jesse Kuhnert
Tapestry/Dojo/(and a dash of TestNG), team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to