flash与webservice数据交互的顺序是怎样的?求高人合作,QQ75713728

 我来答
匿名用户
2011-03-08
展开全部
Flash与后台数据交互---WebService篇

Flash框架没有提供WebServices功能,因此要想用Flash来直接调用WebServices方法将会有一定的难度。

不过,幸运的是同样是Adobe公司提供的Flex框架包含了一种解决方案,通过使用Flex框架可以很方便的调用WebServices方法。
通过添加类库的方法可以使Flash能够使用Flex框架,使得Flash访问WebServices变得非常简单。

通过使用mx.rpc.soap.WebService对象,然后从WebService对象来调用方法。

package
{
import flash.display.MovieClip;

import mx.rpc.soap.LoadEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import flash.events.MouseEvent;
import mx.rpc.soap.WebService;

public class WebServicesSample extends MovieClip
{
private var service:WebService;

public function WebServicesSample()
{
LoginPanel.btn_login.addEventListener(MouseEvent.CLICK,login);
//初始化WebService变量,并给wsdl属性赋值。wsdl属性将告诉WebService对象到哪里去找WSDL。
service=new WebService();
service.wsdl="http://localhost:6558/LoginSrv.asmx?WSDL";
}

private function login(evt:MouseEvent):void
{
//在调用WebService方法前必须先调用loadWSDL方法,从指定的URL加载WSDL数据。
service.loadWSDL();

//给WebService对象添加侦听器,监听WSDL加载完成。
service.addEventListener(LoadEvent.LOAD,onWSDL);
//给WebService对象添加侦听器,监听出错的情况。
service.addEventListener(FaultEvent.FAULT,onFault);
}

private function onWSDL(evt:LoadEvent):void
{
//为WebService方法添加侦听器,监听调用结果返回的情况。
service.Login.addEventListener(ResultEvent.RESULT,onLogin);
//为WebService方法添加侦听器,监听出错的情况。
service.Login.addEventListener(FaultEvent.FAULT,onFault);
//调用WebService方法。
service.Login(LoginPanel.tb_username.text,LoginPanel.tb_psw.text);
}

private function onLogin(evt:ResultEvent):void
{
if(evt.result)
{
LoginPanel.gotoAndStop(2);

LoginPanel.btn_login.removeEventListener(MouseEvent.CLICK,login);
LoginPanel.btn_login.addEventListener(MouseEvent.CLICK,logout);

LoginPanel.btn_login.label_btn.text="退出";
}
else
{
LoginPanel.gotoAndStop(3);

LoginPanel.btn_login.removeEventListener(MouseEvent.CLICK,login);
LoginPanel.btn_login.addEventListener(MouseEvent.CLICK,logout);

LoginPanel.btn_login.label_btn.text="返回";
}
}

private function logout(evt:MouseEvent):void
{
LoginPanel.gotoAndStop(1);

LoginPanel.btn_login.removeEventListener(MouseEvent.CLICK,logout);
LoginPanel.btn_login.addEventListener(MouseEvent.CLICK,login);

LoginPanel.btn_login.label_btn.text="登录";
}

private function onFault(evt:FaultEvent):void
{
//出错处理语句
trace("出错了!");
}
}
}
睦茗0H6
2012-10-19
知道答主
回答量:2
采纳率:0%
帮助的人:3106
展开全部
用flash中webserviceconnector组件对webservice进行调用,可以直接去处webservice生成的xml文件中的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式