Well I dont think our code will help at all becuase the issues are 
deep within the Adobe classes which is what I was quoting but if 
thats what you want...

var opr:AbstractOperation = getRemoteObject.getOperation(methodName);
opr.addEventListener(ResultEvent.RESULT, gotResult, false, 0, true);
opr.addEventListener(FaultEvent.FAULT, execError, false, 0, true);
opr.send(params);


What I was saying was that if the params are bad then the send method 
fails and should invoke our FaultEvent handler.

But what happens is that although send fails the fault handler doesnt 
gets called and the reason for that is as is described. 

We are not using a Timer, but Adobe IS using a Timer in the class 
mx.rpc.AsyncDespatcher.

The AsyncDespatcher is created in the class mx.rpc.AbstractInvoker 
another Adobe class when the invoke fails due to bad the params. They 
create the object but dont hold a reference to it as below:

mx_internal function invoke(message:IMessage, token:AsyncToken = 
null) : AsyncToken{

///SOME CODE////

}catch(e2:Error){
 _log.warn(e2.toString());
 fault = new Fault("InvokeFailed", e2.message);
 new AsyncDispatcher(dispatchRpcEvent, [FaultEvent.createEvent(fault, 
token, message)], 10);
}

The problem is that although the AsyncDispatcher is created it gets 
GC'd before it can actually do anything. We traced it through into 
the AD, and to where the Timer is started in AD but inside AD the 
Timer handler never gets called, and that is what is ultimately 
responsible for calling the FaultEvent handler in our code. So 
becuase it doesnt get called ourt FaultEvent handler wont be called.

tks







--- In [email protected], Tom Chiverton <[EMAIL PROTECTED]> 
wrote:
>
> On Thursday 02 Oct 2008, reflexactions wrote:
> > But the AsyncDispatcher.timerHandler method nevers gets called to
> 
> The what ? Are you using a Timer and not the error events ?
> 
> > dispatch the event becuase no reference was kept to the 
AsyncDispatcher
> > and it gets GC'd before the Timer runs.
> 
> I've little idea what you mean, could you post some example code ?
> 
> -- 
> Tom Chiverton
> Helping to competently implement performance-oriented attention-
grabbing 
> six-generation prospective partnerships
> 
> 
> 
> ****************************************************
> 
> This email is sent for and on behalf of Halliwells LLP.
> 
> Halliwells LLP is a limited liability partnership registered in 
England and Wales under registered number OC307980 whose registered 
office address is at Halliwells LLP, 3 Hardman Square, 
Spinningfields, Manchester, M3 3EB.  A list of members is available 
for inspection at the registered office. Any reference to a partner 
in relation to Halliwells LLP means a member of Halliwells LLP.  
Regulated by The Solicitors Regulation Authority.
> 
> CONFIDENTIALITY
> 
> This email is intended only for the use of the addressee named 
above and may be confidential or legally privileged.  If you are not 
the addressee you must not read it and must not use any information 
contained in nor copy it nor inform any person other than Halliwells 
LLP or the addressee of its existence or contents.  If you have 
received this email in error please delete it and notify Halliwells 
LLP IT Department on 0870 365 2500.
> 
> For more information about Halliwells LLP visit www.halliwells.com.
>


Reply via email to