Is the following in your hivemodule.xml ? <contribution configuration-id="tapestry.services.ApplicationServices"> <service name="ImageService" object="service:ImageService"/> </contribution>
Shing --- Deon Visagie <[EMAIL PROTECTED]> wrote: > Hi > > I am trying to inject a service so that I preview > images stored in a blob in > the database. I have the following code but it gives > me an error that the > service can't be found when I view that particular > page. > > > hivemodule.xml > -------------- > <contribution > configuration-id="tapestry.url.ServiceEncoders"> > <page-service-encoder id="page" extension="html" > service="page"/> > <direct-service-encoder id="direct" > stateless-extension="direct" > stateful-extension="sdirect"/> > </contribution> > > <contribution > configuration-id="tapestry.services.FactoryServices"> > <service name="ImageService" > object="service:ImageService"/> > </contribution> > > <service-point id="ImageService" > interface="org.apache.tapestry.engine.IEngineService"> > <invoke-factory> > <construct > class="mypackagename.ImageService"> > <set-object property="linkFactory" > value="infrastructure:linkFactory"/> > </construct> > </invoke-factory> > </service-point> > > > ImageService.java > ----------------- > > public class ImageService > implements IEngineService > { > private LinkFactory linkFactory; > > public ILink getLink(boolean isPost, Object > parameters) > { > Object[] parameterArray = (Object[]) parameters; > Object reportId = parameterArray[0]; > > Map serviceParameters = new HashMap(); > serviceParameters.put(ServiceConstants.SERVICE, > getName()); > serviceParameters.put(ServiceConstants.PARAMETER, > new > Object[] {reportId}); > > return linkFactory.constructLink(this, isPost, > serviceParameters, true); > } > > public String getName() > { > return "ImageService"; > } > > public void service(IRequestCycle cycle) > throws IOException > { > // ... > } > > /** > * @return Returns the linkFactory. > */ > public LinkFactory getLinkFactory() > { > return linkFactory; > } > > /** > * @param linkFactory The linkFactory to set. > */ > public void setLinkFactory(LinkFactory linkFactory) > { > this.linkFactory = linkFactory; > } > } > > And my java class for the page > ------------------------------ > > @InjectObject("service:ImageService") > public abstract IEngineService getImageService(); > > > The @InjectObject line throws the following error: > Service point > tapestry.ImageService does not exist > > What am I missing? I know my hivemodule.xml file is > being read as the > friendly urls work fine. > > I am including my stack trace: > > --------------------------------------------------------- > Service point tapestry.ImageService does not exist. > Stack Trace: > org.apache.hivemind.impl.RegistryInfrastructureImpl.getServicePoint(Registry > InfrastructureImpl.java:179) > org.apache.hivemind.impl.RegistryInfrastructureImpl.getService(RegistryInfra > structureImpl.java:205) > org.apache.hivemind.impl.ModuleImpl.getService(ModuleImpl.java:105) > > org.apache.hivemind.service.impl.ServiceObjectProvider.provideObject(Service > ObjectProvider.java:40) > $ObjectProvider_10bd7c9a69b.provideObject($ObjectProvider_10bd7c9a69b.java) > > org.apache.hivemind.service.impl.ObjectTranslator.translate(ObjectTranslator > .java:75) > $Translator_10bd7c9a6c5.translate($Translator_10bd7c9a6c5.java) > > org.apache.tapestry.services.impl.InjectedValueProviderImpl.obtainValue(Inje > ctedValueProviderImpl.java:38) > $InjectedValueProvider_10bd7c9a7b9.obtainValue($InjectedValueProvider_10bd7c > 9a7b9.java) > org.apache.tapestry.enhance.InjectObjectWorker.injectObject(InjectObjectWork > er.java:59) > org.apache.tapestry.annotations.InjectObjectAnnotationWorker.performEnhancem > ent(InjectObjectAnnotationWorker.java:58) > $MethodAnnotationEnhancementWorker_10bd7c9a7fc.performEnhancement($MethodAnn > otationEnhancementWorker_10bd7c9a7fc.java) > org.apache.tapestry.annotations.AnnotationEnhancementWorker.performMethodEnh > ancement(AnnotationEnhancementWorker.java:142) > org.apache.tapestry.annotations.AnnotationEnhancementWorker.performMethodEnh > ancement(AnnotationEnhancementWorker.java:110) > org.apache.tapestry.annotations.AnnotationEnhancementWorker.performEnhanceme > nt(AnnotationEnhancementWorker.java:70) > $EnhancementWorker_10bd7c9a7a2.performEnhancement($EnhancementWorker_10bd7c9 > a7a2.java) > $EnhancementWorker_10bd7c9a7a4.performEnhancement($EnhancementWorker_10bd7c9 > a7a4.java) > $EnhancementWorker_10bd7c9a784.performEnhancement($EnhancementWorker_10bd7c9 > a784.java) > org.apache.tapestry.services.impl.ComponentConstructorFactoryImpl.getCompone > ntConstructor(ComponentConstructorFactoryImpl.java:97) > > $ComponentConstructorFactory_10bd7c9a771.getComponentConstructor($ComponentC > onstructorFactory_10bd7c9a771.java) > org.apache.tapestry.pageload.PageLoader.instantiatePage(PageLoader.java:578) > > org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:606) > > $IPageLoader_10bd7c9a76b.loadPage($IPageLoader_10bd7c9a76b.java) > > $IPageLoader_10bd7c9a76c.loadPage($IPageLoader_10bd7c9a76c.java) > > org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:120) > > $IPageSource_10bd7c9a6d1.getPage($IPageSource_10bd7c9a6d1.java) > > org.apache.tapestry.engine.RequestCycle.loadPage(RequestCycle.java:268) > > org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:251) > > com.sebrio.raptor.sac.pages.ListReports.reportNewAction(ListReports.java:117 > ) > sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > sun.reflect.NativeMethodAccessorImpl.invoke(Unknown > Source) > sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > java.lang.reflect.Method.invoke(Unknown Source) > org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMethod(Li > stenerMethodInvokerImpl.java:214) > org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod( > ListenerMethodInvokerImpl.java:155) > org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(Liste > nerMethodInvokerImpl.java:124) > org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod( > ListenerMethodInvokerImpl.java:69) > org.apache.tapestry.listener.SyntheticListener.actionTriggered(SyntheticList > ener.java:51) > org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener(Listen > erInvokerTerminator.java:51) > $ListenerInvoker_10bd7c9a702.invokeListener($ListenerInvoker_10bd7c9a702.jav > a) > $ListenerInvoker_10bd7c9a701.invokeListener($ListenerInvoker_10bd7c9a701.jav > a) > org.apache.tapestry.link.DirectLink.trigger(DirectLink.java:105) > > org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java > :146) > org.apache.tapestry.engine.DirectService.service(DirectService.java:132) > > $IEngineService_10bd7c9a759.service($IEngineService_10bd7c9a759.java) > > === message truncated === Home page : http://uk.geocities.com/matmsh/index.html Send instant messages to your online friends http://uk.messenger.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]