<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="416" height="276" creationComplete="init()" viewSourceURL="srcview/index.html"> <mx:Script> <![CDATA[ import mx.utils.UIDUtil; import mx.messaging.Channel; import mx.messaging.channels.AMFChannel; import mx.messaging.ChannelSet; import mx.rpc.events.InvokeEvent; import mx.rpc.remoting.RemoteObject; 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 var calculatorService:RemoteObject; private function init():void { calculatorService = new RemoteObject( "GenericDestination" ); calculatorService.source = "Weborb.Examples.BasicService"; calculatorService.addEventListener( FaultEvent.FAULT, gotError ); calculatorService.Calculate.addEventListener( ResultEvent.RESULT, gotCalculationResult ); } 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.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="30" text="Argument 1:"/> <mx:Button x="50" y="120" label="Calculate result on the server" click="sendRequest()"/> <mx:TextInput id="arg1" restrict="0-9" x="126" y="28" width="59"/> <mx:Text x="50" y="88" text="Argument 2:"/> <mx:Text x="50" y="162" text="Server responded:"/> <mx:TextInput id="arg2" restrict="0-9" x="126" y="86" width="59"/> <mx:Text x="50" y="58" text="Operation:"/> <mx:ComboBox id="op" x="126" y="56" dataProvider="{opsList}" width="59"></mx:ComboBox> <mx:HRule x="50" y="152" width="298" height="1"/> <mx:Label x="159.5" y="162" id="serverResult" fontWeight="bold"/> <mx:Label x="50" y="185" text="Invocation time:"/> <mx:Label x="161.5" y="185" id="invTime"/> </mx:Panel> </mx:Application>