<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="416" height="276" viewSourceURL="srcview/index.html" > <mx:Script> <![CDATA[ import mx.messaging.MessageResponder; import mx.messaging.messages.RemotingMessage; import mx.messaging.Channel; import mx.messaging.events.ChannelEvent; import mx.utils.UIDUtil; import mx.messaging.events.MessageEvent; import mx.rpc.AsyncRequest; import mx.messaging.MessageAgent; import mx.messaging.ChannelSet; import mx.messaging.messages.AsyncMessage; import mx.messaging.config.ServerConfig; import mx.controls.Alert; import mx.rpc.events.ResultEvent; import mx.rpc.events.FaultEvent; [Bindable] public var opsList: Array = [ {label:"+", data:1}, {label:"-", data:2}, {label:"*", data:3}, {label:"/", data:4} ]; private var invokeTime:Number; private function sendRequest():void { if( arg1.text.length == 0 ) { arg1.setFocus(); Alert.show( "Argument 1 is missing", "Incomplete Data" ); } else if( arg2.text.length == 0 ) { arg2.setFocus(); Alert.show( "Argument 2 is missing", "Incomplete Data" ); } else { invokeTime = new Date().getTime(); calculatorService.concurrency calculatorService.Calculate( arg1.text, op.selectedItem.data, arg2.text ); } } private function gotError( fault:FaultEvent ):void { invTime.text = (new Date().getTime() - invokeTime) + " ms"; serverResult.text = "Error"; Alert.show( "Server reported an error - " + fault.fault.faultString, "Error" ); } private function gotCalculationResult( result:ResultEvent ):void { invTime.text = (new Date().getTime() - invokeTime) + " ms"; serverResult.text = result.result.toString(); } ]]> </mx:Script> <mx:Panel x="10" y="10" width="396" height="253" layout="absolute" title="Basic Remoting Invocation Example"> <mx:Text x="50" y="23" text="Argument 1:"/> <mx:Button x="50" y="113" label="Calculate result on the server" click="sendRequest()"/> <mx:TextInput id="arg1" restrict="0-9" x="126" y="21" width="59"/> <mx:Text x="50" y="81" text="Argument 2:"/> <mx:Text x="50" y="155" text="Server responded:"/> <mx:TextInput id="arg2" restrict="0-9" x="126" y="79" width="59"/> <mx:Text x="50" y="51" text="Operation:"/> <mx:ComboBox id="op" x="126" y="49" dataProvider="{opsList}" width="59"></mx:ComboBox> <mx:HRule x="50" y="145" width="298" height="1"/> <mx:Label x="155" y="155" id="serverResult" fontWeight="bold"/> <mx:Label x="50" y="181" text="Invocation time:"/> <mx:Label x="155" y="181" id="invTime"/> </mx:Panel> <mx:RemoteObject id="calculatorService" destination="GenericDestination" source="Weborb.Examples.BasicService" fault="gotError(event)"> <mx:method name="Calculate" result="gotCalculationResult(event)" /> </mx:RemoteObject> </mx:Application>