flex中调用webservice的两种方法

来源:互联网 发布:北京java学费 编辑:程序博客网 时间:2024/06/09 14:53

1,用C#写好一个webservice,包含两个方法:

    [WebMethod]    public string HelloWorld()   {        return "Hello World";    }    [WebMethod]    public int GetSum(int a, int b)    {        int c = 0;        c = a + b;        return c;    }

2,通过mxml配置,调用

<fx:Declarations><!-- 将非可视元素(例如服务、值对象)放在此处 --><s:WebService id="myWebService" wsdl="http://localhost:4358/WebServicetest/WebService.asmx?wsdl"><s:operation name="GetSum" resultFormat="object" result="myresultTwo(event)"/><s:operation name="HelloWorld" resultFormat="object" result="myresultTwo(event)"/></s:WebService></fx:Declarations><s:Button id="myOne" x="184" y="177" width="131" height="47" label="MethodOne"  click="myOne_clickHandler(event)"/><s:Button id="myTwo" x="393" y="177" width="131" height="47" label="MethodTwo"  click="myTwo_clickHandler(event)"/>
<fx:Script><![CDATA[import mx.controls.Alert;import mx.events.FlexEvent;import mx.rpc.events.ResultEvent;import mx.rpc.soap.WebService;public function myresultOne(event:ResultEvent):void{Alert.show(event.result.toString());}public function myresultTwo(event:ResultEvent):void{Alert.show(event.result.toString());}protected function myOne_clickHandler(event:MouseEvent):void{// TODO Auto-generated method stubmyWebService.HelloWorld();}protected function myTwo_clickHandler(event:MouseEvent):void{// TODO Auto-generated method stubmyWebService.GetSum(7,9);}]]></fx:Script>

3,通过AS调用

protected function application1_creationCompleteHandler(event:FlexEvent):void{// TODO Auto-generated method stubvar myser:WebService=new WebService();myser.wsdl="http://localhost:4358/WebServicetest/WebService.asmx?wsdl";myser.loadWSDL();myser.getOperation("HelloWorld").addEventListener(ResultEvent.RESULT,myresultOne);myser.getOperation("HelloWorld").send();myser.getOperation("GetSum").addEventListener(ResultEvent.RESULT,myresultTwo);myser.getOperation("GetSum").send(2,3);}public function myresultOne(event:ResultEvent):void{Alert.show(event.result.toString());}public function myresultTwo(event:ResultEvent):void{Alert.show(event.result.toString());}