<?xml version="1.0" encoding="utf-8"?> <!-- (C) aisajiajiao 2011 Flex调用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; import mx.collections.ArrayCollection; //private var str:String = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl"; private var str:String = "http://fy.webxml.com.cn/webservices/EnglishChinese.asmx?wsdl"; private var webService:WebService; [Bindable] public var ss:ArrayCollection; 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); //webService。GetWeatherByZipCode.addEventListener(ResultEvent.RESULT, onResult); //webService。GetWeatherByZipCode.addEventListener(FaultEvent.FAULT, onFault); } private function onLoad(e:LoadEvent):void { //进行相关的操作 //webService.getWeatherbyCityName(txt.text.toString()); webService.TranslatorString(txt.text.toString()); } private function onResult(e:ResultEvent):void { ss=(e.result) as ArrayCollection; for(var i:int=0;i<ss.length;i++){ myWeatherReport.text += ss[i]+"\n"; } } private function onFault(e:FaultEvent):void { trace(e.message); Alert.show("错误:"+e.fault.faultString+"细节:"+e.fault.faultDetail,"错误"); } ]]> </mx:Script> <mx:Button label="点击开始转换" click="onClick()" /> <mx:Text id="txt" text="hello" /> <mx:TextArea id="myWeatherReport" height="100%" width="80%" editable="false" /> </mx:Application>
要先看他的WSDL查看数据输入输出类型