Are you using a library that's based on an older version of Tapestry?  The
getLink() method used to look like...

http://jakarta.apache.org/tapestry/3.0.3/doc/api/org/apache/tapestry/engine/
IEngineService.html
 

-----Original Message-----
From: Vinicius Carvalho [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, February 28, 2006 7:40 PM
To: Tapestry users
Subject: Question with Services (another one...)

Well, thanks to Geoff I forgot to put my template (doh). Now I'm getting an
bizzarre error:

java.lang.NoSuchMethodError
org.apache.tapestry.engine.IEngineService.getLink
(ZLjava/lang/Object;)Lorg/apache/tapestry/engine/ILink;  Stack Trace:

   - org.tupiniquim.components.ajax.AjaxRequest.getScriptSymbols(
   AjaxRequest.java:32)

<component-specification allow-body="no" allow-informal-parameters="no"
class="org.tupiniquim.components.ajax.AjaxRequest">
    <parameter name="listener" required="yes"/>
    <parameter name="receiveName" required="yes"/>
    <parameter name="sendName" required="yes"/>
    <parameter name="refreshTimeout" required="no"/>
    <component id="script" type="Script">
        <binding name="script"
value="'/org/tupiniquim/components/ajax/AjaxRequest.script'"/>
        <binding name="symbols" value="scriptSymbols"/>
    </component>
    <inject property="service" object="engine-service:ajaxXML"/>
</component-specification>
public Map getScriptSymbols(){
        ILink link = getService().getLink(false,this); // This is where the
error happens
        Map result = new HashMap();
        result.put("sendFunctionName", getSendName());
        result.put("receiveFunctionName", getReceiveName());
        result.put("url", link.getURL());
        if(getRefreshTimeout() != null){
            result.put("refreshTimeOut",getRefreshTimeout());
        }
        return result;
    }

<contribution
        configuration-id="tapestry.services.ApplicationServices">
        <service name="ajaxXML" object="service:org.tupiniquim.ajaxXML" />
    </contribution>
    <service-point id="ajaxXML"
        interface="org.apache.tapestry.engine.IEngineService">
        <invoke-factory>
            <construct class="org.tupiniquim.services.xml.XMLService">
            </construct>
        </invoke-factory>
    </service-point>

After debugging I found that Tapestry uses a proxy (EngineOuterProxy) for
its services. But why it's not allowing the use of the method? Am I missing
something?



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

Reply via email to