2009-08-20 79 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>