MXML の fx:Declarations タグ内に定義された WebService オブジェクトがあり、その中にいくつかの操作があり、それらの操作の応答および障害ハンドラーがあるとします。ここで、その WebService を別のオブジェクトのコンストラクターに渡したいとします。これにより、実行時に WebService に操作が追加され、その新しい操作に対する独自の応答および障害ハンドラー関数が追加されます。
例えば:
<fx:Declarations>
<s:WebService id="ws" fault="Alert.show('failure')">
<s:operation
name="Op1"
resultFormat="object"
result="WebOp1(event);"
fault="WebFaultOp1()"
/>
</s:WebService>
</fx:Declarations>
.
.
.
var a:A = new A(ws);
と:
public class A
{
private var m_ws:WebService;
public function A(pWS:WebService)
{
m_ws = pWS;
m_ws.Op2 = new Operation();
m_ws.Op2.resultFormat = "object";
m_ws.Op2.result = WebOp2(event);
m_ws.Op2.fault = WebFaultOp2(event);
}
private function WebOp2(pEvent:ResultEvent):void
{
}
private function WebFaultOp2(pEvent:FaultEvent):void
{
}
}
これはどのように行うことができますか?必要に応じて MXML を使用するつもりですが、ここで避けたいのは、同じ WSDL を共有する 2 つの別個の WebService オブジェクトを作成しなければならないようなことです。ありがとう!