Thanks guys , in the past two days the matter has been clarified for me by Kent's book . This additional info from here it's just great , and my struggles to get this working are finally paying off .
cosmin On 3/28/06, Denis Souza <[EMAIL PROTECTED]> wrote: > On your getLink implementation you should "explain" to the service how to > create an http link to it. Usually you can just call the link factory's > constructLink method. Something like this: > > public ILink getLink(boolean isPost, Object parameters) { > return linkFactory.constructLink(this, isPost, parameters, true); > } > > You can inject a link factory into the service using your hivemodule.xml. > > > -----Original Message----- > From: Cosmin Bucur [mailto:[EMAIL PROTECTED] > Sent: domingo, 26 de março de 2006 19:42 > To: Tapestry users > Subject: Re: configuring an IEngineService in Tap4 > > ok ... digging more into the problem , I realised that the problem now > is me failing to understand how a IEngineService implementation should > look . My implementation had getLink () { return null; } which I guess > was causing the null pointer . > > But what should go there ? At this point I would be happy with a > simple pointer towards proper documentation . > > Thanks , > Cosmin > > On 3/26/06, Cosmin Bucur <[EMAIL PROTECTED]> wrote: > > ok well basically > > > > ognl: gives me the first error the outerproxy one . > > > > literal gives me a null pointer exception . The stack trace doesn't > > contain any of my src files so it's a bit confusing . As far as I can > > see there is nothing to point me towards the error : > > > > > org.apache.tapestry.link.DefaultLinkRenderer.constructURL(DefaultLinkRendere > r.java:117) > > > org.apache.tapestry.link.DefaultLinkRenderer.renderLink(DefaultLinkRenderer. > java:62) > > > org.apache.tapestry.link.AbstractLinkComponent.renderComponent(AbstractLinkC > omponent.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 > ) > > $RenderBody_7.renderComponent($RenderBody_7.java) > > 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) > > $Body_6.renderComponent($Body_6.java) > > org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617) > > > org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:434) > > org.apache.tapestry.html.Shell.renderComponent(Shell.java:114) > > $Shell_5.renderComponent($Shell_5.java) > > 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(Respon > seRendererImpl.java:71) > > > $ResponseRenderer_10a3786c9cb.renderResponse($ResponseRenderer_10a3786c9cb.j > ava) > > > $ResponseRenderer_10a3786c9ca.renderResponse($ResponseRenderer_10a3786c9ca.j > ava) > > org.apache.tapestry.engine.PageService.service(PageService.java:68) > > $IEngineService_10a3786ca3a.service($IEngineService_10a3786ca3a.java) > > > org.apache.tapestry.services.impl.EngineServiceInnerProxy.service(EngineServ > iceInnerProxy.java:77) > > > org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServ > iceOuterProxy.java:66) > > org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248) > > > org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngin > eTerminator.java:60) > > > $WebRequestServicer_10a3786ca15.service($WebRequestServicer_10a3786ca15.java > ) > > > $WebRequestServicer_10a3786ca14.service($WebRequestServicer_10a3786ca14.java > ) > > > $WebRequestServicer_10a3786ca11.service($WebRequestServicer_10a3786ca11.java > ) > > > $WebRequestServicer_10a3786ca10.service($WebRequestServicer_10a3786ca10.java > ) > > > org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(W > ebRequestServicerPipelineBridge.java:56) > > > $ServletRequestServicer_10a3786c9f5.service($ServletRequestServicer_10a3786c > 9f5.java) > > > $ServletRequestServicer_10a3786c9f4.service($ServletRequestServicer_10a3786c > 9f4.java) > > > org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInj > ector.java:55) > > > $ServletRequestServicerFilter_10a3786c9f1.service($ServletRequestServicerFil > ter_10a3786c9f1.java) > > > $ServletRequestServicerFilter_10a3786c9f0.service($ServletRequestServicerFil > ter_10a3786c9f0.java) > > > $ServletRequestServicer_10a3786c9f6.service($ServletRequestServicer_10a3786c > 9f6.java) > > > org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecode > rFilter.java:52) > > > $ServletRequestServicerFilter_10a3786c9ef.service($ServletRequestServicerFil > ter_10a3786c9ef.java) > > > $ServletRequestServicerFilter_10a3786c9ee.service($ServletRequestServicerFil > ter_10a3786c9ee.java) > > > $ServletRequestServicer_10a3786c9f6.service($ServletRequestServicer_10a3786c > 9f6.java) > > > org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestE > ncoding.java:53) > > > $ServletRequestServicerFilter_10a3786c9f3.service($ServletRequestServicerFil > ter_10a3786c9f3.java) > > > $ServletRequestServicerFilter_10a3786c9f2.service($ServletRequestServicerFil > ter_10a3786c9f2.java) > > > $ServletRequestServicer_10a3786c9f6.service($ServletRequestServicer_10a3786c > 9f6.java) > > > $ServletRequestServicer_10a3786c9e9.service($ServletRequestServicer_10a3786c > 9e9.java) > > > $ServletRequestServicer_10a3786c9e8.service($ServletRequestServicer_10a3786c > 9e8.java) > > > org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123 > ) > > org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:596) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:689) > > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) > > > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebAppl > icationHandler.java:830) > > > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterI > nternal(OpenSessionInViewFilter.java:172) > > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestF > ilter.java:76) > > > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebAppl > icationHandler.java:821) > > > org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl > er.java:471) > > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) > > org.mortbay.http.HttpContext.handle(HttpContext.java:1530) > > > org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext > .java:633) > > org.mortbay.http.HttpContext.handle(HttpContext.java:1482) > > org.mortbay.http.HttpServer.service(HttpServer.java:909) > > org.mortbay.http.HttpConnection.service(HttpConnection.java:816) > > org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982) > > org.mortbay.http.HttpConnection.handle(HttpConnection.java:833) > > org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) > > org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) > > org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534) > > > > > > On 3/26/06, Cosmin Bucur <[EMAIL PROTECTED]> wrote: > > > as far as the last error , it's because i started trying service > > > instead of engine-service , at one point . > > > > > > I have fixed that and trying to get more information on new exceptions > > > > > > On 3/26/06, Cosmin Bucur <[EMAIL PROTECTED]> wrote: > > > > Somehow that error dissapeared now , but I am getting something at the > > > > injection line . > > > > > > > > <inject property="pdfService" object="service:pdfService"/> > > > > > > > > Error at context:/WEB-INF/tests/ServiceTest.page, line 20, column 84: > > > > Error adding property pdfService to class tests.ServiceTest: Service > > > > point tapestry.pdfService does not exist. > > > > > > > > My hivemodule.xml is the same as before ... I tried literal in front > > > > of value="literal:pdfService"/> and i got errors that it can't be > > > > found . Also tried object="literal:pdfService" but got some more > > > > errors and i didn't think it should be used there . > > > > > > > > > > > > On 3/26/06, Mike Snare <[EMAIL PROTECTED]> wrote: > > > > > > <component id="serviceLnk" type="ServiceLink" > > > > > > > <binding name="service" value="pdfService" /> > > > > > > </component> > > > > > > > > > > I think you want to use a literal: binding prefix on the value for > > > > > service. What's happening is your expression 'pdfService' is an > ognl > > > > > expression that resolves to a call to getPdfService() on the class. > > > > > It takes the resulting service and calls toString to generate the > > > > > link. Since the actual object returned from getPdfService is a > proxy > > > > > (apparently an 'OuterProxy', to be specific) the link is hosed. > > > > > > > > > > Try: > > > > > <component id="serviceLnk" type="ServiceLink" > > > > > > <binding name="service" value="literal:pdfService" /> > > > > > </component> > > > > > > > > > > > --------------------------------------------------------------------- > > > > > 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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]