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]

Reply via email to