Flex连接WebService例子

来源:互联网 发布:淘宝新店买家会被骗吗 编辑:程序博客网 时间:2024/04/29 14:55

Flex连接后台数据有四种:WebService、HTTPService、RemoteObject、Socket,其中Webservice和HTTPService数据传输格式都是XML,数据传输量较大,传输效率不高,但是也不失为一种可行的解决方案,后两种RemoteObject和Socket都传输的是二进制数据传输效率比较高,RemoteObject在企业级RIA应用中较为常用,而Socket可能更多的是用于游戏中,现在有很多的这种Socket服务器包括Red5,SmartFoxServer,ElectroServer,Flash Media Interactive Server等等,有开源的比如说Red5,也有付费的比如说ElectroServer,ElectroServer是一家做这方面的比较早的公司,他的创办人之一写了本《ActionScript 3大型网页游戏开发》其中用的服务器就是ElectroServer。

废话少说(代码如下,不懂看AS文档):

<?xml version="1.0" encoding="utf-8"?><!-- (C) aisajiajiao 2011Flex调用WebService--><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"><mx:Script><![CDATA[import mx.rpc.events.ResultEvent;import mx.rpc.events.FaultEvent;import mx.rpc.soap.LoadEvent;import mx.rpc.soap.WebService;import mx.controls.Alert;private var str:String = "http://webservice.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx?wsdl";private var webService:WebService;private function onClick():void{//创建并实例化WebService示例,不过之前要先导入WebService类webService = new WebService();webService.wsdl = str;webService.loadWSDL(str);//事件侦听我就不说了,文档上都有webService.addEventListener(LoadEvent.LOAD, onLoad);webService.addEventListener(ResultEvent.RESULT, onResult);webService.addEventListener(FaultEvent.FAULT, onFault);}private function onLoad(e:LoadEvent):void{//进行相关的操作webService.toTraditionalChinese(txt.text.toString());}private function onResult(e:ResultEvent):void{txt.text = e.result.toString();}private function onFault(e:FaultEvent):void{trace(e.message);//给用警告,偷懒不愿debug的时候这么来Alert.show("未能连接到WebService,请检查网络!","错误");}]]></mx:Script><mx:Button label="点击开始转换" click="onClick()" fontSize="48" /><mx:Label id="txt" text="点击将简体字变成台湾正体字" fontSize="48" /></mx:Application>

截图如下: