flex 调用webservice 两种方法

已将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;
	}
}

你可能感兴趣的:(Flex,SOAP)