Thank you!!!!!!!!!!!!!!!!!!!! This was driving me absolutely nuts.
-Ryan On Thursday, June 29, 2006, at 01:59PM, Jeff Lubetkin <[EMAIL PROTECTED]> wrote: >Your service ID is not the same as your class name. Try: > > <contribution >configuration-id="tapestry.services.ApplicationServices"> > <service name="bip" object="service:BipService"/> > </contribution> > >jeff >-----Original Message----- >From: Ryan Cuprak [mailto:[EMAIL PROTECTED] >Sent: Thursday, June 29, 2006 1:47 PM >To: Tapestry users >Subject: Re: File download - LinkFactory not being set (statup exception >now) > > >Tweaked my hivemodule.xml to the following: > <service-point id="BipService" >interface="org.apache.tapestry.engine.IEngineService"> > <invoke-factory> > <construct class="com.kodak.mis.web.engine.BipService"> > <set-object property="linkFactory" >value="service:tapestry.url.LinkFactory"/> > </construct> > </invoke-factory> > </service-point> > > <contribution >configuration-id="tapestry.services.ApplicationServices"> > <service name="bip" >object="service:com.kodak.mis.web.engine.BipService"/> > </contribution> > > Changed contribution/service/object from instance:... to service:.... >Thought that simple fix would resolve it, however I now get: > javax.servlet.ServletException: Unable to construct service >tapestry.asset.ClasspathAssetFactory: Error building service >tapestry.asset.ClasspathAssetFactory: Error at >jar:file:/C:/Documents%20and%20Settings/l507107/My%20Documents/Projects/ >MI_4.5/Source/Kodak_MI/Java/webapps/admin/WEB-INF/lib/tapestry-4.0.2.jar >!/META-INF/tapestry.asset.xml, line 81, column 75: Unable to construct >service tapestry.services.ServiceMap: Error building service >tapestry.services.ServiceMap: Error at >jar:file:/C:/Documents%20and%20Settings/l507107/My%20Documents/Projects/ >MI_4.5/Source/Kodak_MI/Java/webapps/admin/WEB-INF/lib/tapestry-4.0.2.jar >!/META-INF/tapestry.services.xml, line 166, column 75: Unable to >initialize service tapestry.services.ServiceMap (by invoking method >initializeService on org.apache.tapestry.services.impl.ServiceMapImpl): >Unable to construct configuration tapestry.services.ApplicationServices: >Error at context:/WEB-INF/hivemodule.xml, line 110, column 83: Unable to >process attribute object (of element service): Service point >com.kodak.mis.web.engine.BipService does not exist. > >org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.servi >ce(WebRequestServicerPipelineBridge.java:60) > >$ServletRequestServicer_10c2186bf14.service($ServletRequestServicer_10c2 >186bf14.java) > >$ServletRequestServicer_10c2186bf13.service($ServletRequestServicer_10c2 >186bf13.java) > >org.apache.tapestry.request.DecodedRequestInjector.service(DecodedReques >tInjector.java:55) > >$ServletRequestServicerFilter_10c2186bf10.service($ServletRequestService >rFilter_10c2186bf10.java) > >$ServletRequestServicerFilter_10c2186bf0f.service($ServletRequestService >rFilter_10c2186bf0f.java) > >$ServletRequestServicer_10c2186bf15.service($ServletRequestServicer_10c2 >186bf15.java) > >org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDe >coderFilter.java:52) > >$ServletRequestServicerFilter_10c2186bf0e.service($ServletRequestService >rFilter_10c2186bf0e.java) > >$ServletRequestServicerFilter_10c2186bf0d.service($ServletRequestService >rFilter_10c2186bf0d.java) > >$ServletRequestServicer_10c2186bf15.service($ServletRequestServicer_10c2 >186bf15.java) > >org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequ >estEncoding.java:53) > >$ServletRequestServicerFilter_10c2186bf12.service($ServletRequestService >rFilter_10c2186bf12.java) > >$ServletRequestServicerFilter_10c2186bf11.service($ServletRequestService >rFilter_10c2186bf11.java) > >$ServletRequestServicer_10c2186bf15.service($ServletRequestServicer_10c2 >186bf15.java) > >$ServletRequestServicer_10c2186bf08.service($ServletRequestServicer_10c2 >186bf08.java) > >$ServletRequestServicer_10c2186bf07.service($ServletRequestServicer_10c2 >186bf07.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) > > My class is compiled and deinitely in the classpath. If I remove: > <contribution >configuration-id="tapestry.services.ApplicationServices"> > <service name="bip" >object="service:com.kodak.mis.web.engine.BipService"/> > </contribution> > > then it reads everything in ok but the page which uses this >engine/service doesn't work. > > Any pointers on what I am missing? > > > -Ryan > >On Thursday, June 29, 2006, at 01:35PM, Ryan Cuprak <[EMAIL PROTECTED]> >wrote: > >> >>Hello, >> I am working my way through the "Handling File Downloads and Uploads" >chapter in the "Enjoying Web Development" book however I am crashing >into a brick wall. >> The setter for the LinkFactory is never being called thus resulting in >a null pointer exception. >> >> hivemodule.xml snippet: >> <service-point id="BipService" >interface="org.apache.tapestry.engine.IEngineService"> >> <invoke-factory> >> <construct class="com.kodak.mis.web.engine.BipService"> >> <set-object property="linkFactory" >value="service:tapestry.url.LinkFactory"/> >> </construct> >> </invoke-factory> >> </service-point> >> >> <contribution >configuration-id="tapestry.services.ApplicationServices"> >> <service name="BipService" >object="instance:com.kodak.mis.web.engine.BipService"/> >> </contribution> >> >> Code snippet: >>public class BipService implements IEngineService { >> >> private static final Logger logger = >Logger.getLogger(BipService.class); >> >> private LinkFactory _linkFactory; >> >> public void setLinkFactory(LinkFactory linkFactory) { >> if(logger.isDebugEnabled())logger.debug("Link factory called: " >+ linkFactory); >> _linkFactory = linkFactory; >> } >> >> public ILink getLink(boolean post, Object parameter) { >> Map parameters = new HashMap(); >> if(logger.isDebugEnabled()) logger.debug("link factory is null >" + (_linkFactory == null) ); >> return _linkFactory.constructLink(this,post,parameters,false); >> } >> >> It is always null. For the 'set-object' line I can enter complete >garbage for the value and it won't complain! >> >> Am I missing something?? >> >> Thanks! >> Ryan >> >>--------------------------------------------------------------------- >>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]