<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Declarations>
<s:WebService id="webService" wsdl="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl"
showBusyCursor="true" fault="faultHandler(event)" result="onLoad(event)">
</s:WebService>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.rpc.AbstractOperation;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.utils.ArrayUtil;
private function onLoad(event:ResultEvent):void{
myWeatherReport.text="";
var weatherInfo:ArrayCollection=(event.result) as ArrayCollection;
for(var i:int=0;i<weatherInfo.length;i++)
{
myWeatherReport.text+=weatherInfo[i]+"\n"
}
}
private function faultHandler(event:FaultEvent):void{
Alert.show(event.fault.toString());
}
protected function button1_clickHandler(event:MouseEvent):void
{
/* var _op:mx.rpc.AbstractOperation;
_op=webService.getOperation("getWeatherbyCityName");
_op.arguments=cityName.text;
_op.addEventListener(ResultEvent.RESULT,onLoad);
_op.addEventListener(FaultEvent.FAULT, faultHandler);
_op.send(); */
webService.getWeatherbyCityName(cityName.text);
}
]]>
</fx:Script>
<s:Button x="377" y="108" label="Call WebService" width="140" click="button1_clickHandler(event)"/>
<s:TextInput x="379" y="72" width="138" text="上海" id="cityName"/>
<s:TextArea x="33" y="19" id="myWeatherReport" editable="false" width="336" height="492"/>
<s:Label x="377" y="52" text="请输入城市名称或编号" fontSize="14"/>
</s:Application>
09-24