已将mxml与as 文件分开管理
1.使用mxml文件配置的标签,访问webservice接口
<?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:Script source="WebService_.as"/>
<fx:Declarations>
<s:WebService id="MyServcie" wsdl="http://localhost:8080/MyAxis/services/AxisService?wsdl">
<s:operation name="sum" resultFormat="object" result="resultHandler(event)"/>
</s:WebService>
</fx:Declarations>
<s:Button x="172" y="166" id="btn" label="调用配置的WebService" click="btn_clickHandler(event)"/>
</s:Application>
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
import mx.rpc.soap.WebService;
protected function resultHandler(event:ResultEvent):void{
var result: int= event.result as int;
Alert.show(result.toString(),"返回结果");
}
protected function btn_clickHandler(event:MouseEvent):void
{
MyServcie.sum("1","2");
}
2.使用actionscript语句访问webservice接口
<?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:Script source="WebService_.as"/>
<fx:Declarations>
</fx:Declarations>
<s:Button x="172" y="190" id="btn2" label="AS调用WebService" click="getWebService()"/>
</s:Application>
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
import mx.rpc.soap.WebService;
protected function getWebService():void
{
var ws :mx.rpc.soap.WebService = new mx.rpc.soap.WebService();
ws.wsdl= "http://localhost:8080/MyAxis/services/AxisService?wsdl";
ws.addEventListener(ResultEvent.RESULT,resultFunction);//增加返回结果的监听
ws.getOperation("sum").send("1","2");
ws.loadWSDL();
}
private function resultFunction(event:ResultEvent){
var s:int = event.result as int;
Alert.show(s.toString(),"返回结果");
}
java 提供的WebService接口如下:
public class Calculate {
public Integer sum(Integer num1, Integer num2) {
return num1 + num2;
}
}