2009-08-20 81 views
0

如何更改/修改Web服务操作的Result属性?在Flex中更改WebService的ResultHandler操作

例如,我宣布我的web服务如下:

<mx:WebService id="ws"> 
    <mx:operation name="Call_One" result="Call_OneRH(event)" fault="Call_OneFH(event)" /> 
    <mx:operation name="Call_Two" result="Call_TwoRH(event)" fault="Call_TwoFH(event)" /> 
</mx:WebService> 

我希望能够为操作“Call_One”的结果改变到另一个结果,因为我计划重复使用相同的网络服务,但结果将被区别对待。

我不知道这是否会工作:

ws.operation.Call_One.result = "myOtherResult" 

输入的高度赞赏。谢谢。

回答

1

不直接向操作添加处理程序,而是向web服务添加一个侦听器来处理结果。文档指出,如果结果事件不由Web服务本身处理,则结果事件将被分派。

public function addListeners() : void { 
    ws.addEventListener(ResultEvent.RESULT, Call_OneRH); 
} 

public function changeListener() : void { 
    ws.removeEventListener(ResultEvent.RESULT, Call_OneRH); 
    ws.addEventListener(ResultEvent.RESULT, myOtherResult); 

<mx:WebService id="ws"> 
    <mx:operation name="Call_One" fault="Call_OneFH(event)" /> 
    <mx:operation name="Call_Two" result="Call_TwoRH(event)" fault="Call_TwoFH(event)" /> 
</mx:WebService>