...

View Full Version : Flex 4:Retrieving the action from the ResultEvent in an event handler



Stooshie
02-09-2011, 06:33 PM
I have been using Flex(Flash) Builder 4 now for a little while. It used to be that, when importing web services, fault and result event types were created for each web service in the suite of services supplied by the provider.

In Flex 4, however, these events are not created and you use the generic ResultEvent and FaultEvent. I can see how this may be more efficient but this can lead to a problem.



private var __mywstest:ProviderServices = new __mywstest:ProviderServices();
__mywstest.addEventListener(ResultEvent.RESULT, mywstestResultEventHandler);
__mywstest.testMethod1();
__mywstest.testMethod2();

private function mywstestResultEventHandler(_e:ResultEvent)
{
/* HANDLE RESULT */
}


So far, it is fine, but the format of the result returned from a call to testMethod1 may be different to that returned from testMethod2. So how do you distinguish which method has triggered this resultEvent?

The only way I have figured out how to do this is to write the following function. You pass it the resultEvent and it returns a string containing the name of the call that triggered this handler.


private function getActionFromResultEvent(_e:ResultEvent):String
{
var _actionArray:Array = _e.token.message["httpHeaders"].SOAPAction.split("#");
return _actionArray[_actionArray.length-1].split("\"")[0];
}

This works, but is there a more conventional way to access this information, that I may have overlooked?

darrellberry
04-11-2011, 07:23 PM
did you ever get an answer to that? there MUST be a batter way, surely...?



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum