`

Flex+WebService登录示例

阅读更多

1.使用mxml标签定义WebService

   a、定义webservice
   <mx:WebService id="login_ws" wsdl="http://localhost/myprj/service/UserService?wsdl">
   <mx:operation name="login" result="loginresult(event)" />
   </mx:WebService>

   b、 as中调用webservice进行登录身份的验证
   private function userlogin():void
   {

           login_ws.login.send();

   }
   //登录处理函数
   private function loginresult(event:ResultEvent):void
   {
         Alert.show("hhhh-"+event.result.toString());
    }

2.在as中定义WebService

   a、定义webservice

package com.util.service
{
 import mx.controls.Alert;
 import mx.managers.CursorManager;
 import mx.rpc.AbstractOperation;
 import mx.rpc.events.FaultEvent;
 import mx.rpc.events.ResultEvent;
 import mx.rpc.soap.SOAPHeader;
 import mx.rpc.soap.WebService;

 public class MyWebService extends WebService
 {
  private var _callBackHandler:Function;
    private var _faultHandler:Function;
   private var _args:Array;
   
   /**
    * Construct
    * @wsdl:webservice url
    */
    public function MyWebService(wsdl:String)
    {
     super();
     
     this.wsdl = wsdl;
      this.loadWSDL();
      
     CursorManager.setBusyCursor();
    }
    
    public function set callBackHandler(callBackHandler:Function):void
    {
      this._callBackHandler = callBackHandler;
    }
    
    public function get callBackHandler():Function
    {
      return this._callBackHandler;
    }
    public function set args(args:Array):void
    {
      this._args = args;
    }
    public function get args():Array
    {
      return this._args;
    }
    public function set faultHandler(faultHandler:Function):void
    {
      this._faultHandler = faultHandler;
    }
    public function get faultHandler():Function
    {
      return this._faultHandler;
    }
    public function initHeader(header:SOAPHeader):void
    {
      this.clearHeaders();
      this.addHeader(header);
    }
    public function sendOperation(functionName:String,args:Array):void
    {
      //根据方法名动态调用WebService服务器的方法
      var operation:AbstractOperation = this.getOperation(functionName);
      //为调用的方法添加监听器,回调函数由外部动态传入
      operation.addEventListener(ResultEvent.RESULT,this.callBackHandler);
      //为调用的方法添加错误监听器,如果传入的错误处理方法为空,则调用默认的处理方法
      if(this.faultHandler != null)
      {
       operation.addEventListener(FaultEvent.FAULT,this.faultHandler);
      }
      else
      {
       operation.addEventListener(FaultEvent.FAULT,defaultFaultHandler);
      }
      //为调用的方法传参数,参数类型为Array
      operation.arguments = args;
      //执行调用的方法
     operation.send();
    }
    
    private function defaultFaultHandler(event:FaultEvent):void
    {
     CursorManager.removeBusyCursor();
     }
  }
}

   b、应用webservice登录

    var ar_arg:Array = new Array();
    ar_arg.push(txtipt_username.text);
    ar_arg.push(txtipt_password.text);

 
    var mysrv:MyWebService = new MyWebService("http://localhost/myprj/service/UserService?wsdl");
    mysrv.callBackHandler = loginHandler;
    mysrv.sendOperation("loginManager",ar_arg);

    // 登录处理函数

    private function loginHandler(evt:ResultEvent):void
   {

         //通过evt.message.body.toString()可以看到服务端返回的信息,进而进行处理

         Alert.show(evt.message.body.toString());

   }

分享到:
评论

相关推荐

    五分钟用Flex构建WebService应用

    在提供的压缩文件中,"五分钟用Flex构建WebService应用—Flash教程.htm"可能是教程的详细内容,包含了具体步骤和示例代码。而"五分钟用Flex构建WebService应用—Flash教程_files"很可能是教程中引用的图片、CSS或...

    Flex Chart+WebService

    标题中的“Flex Chart+WebService”指的是使用Adobe Flex技术来创建图表,并通过Web Service与服务器进行数据交互的一个示例项目。Flex是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用程序(RIA)。它...

    Flex调用WebService例子(Flex工程+ XFire WebService工程)

    在本示例中,我们将深入探讨如何在Flex中调用由XFire实现的WebService。 首先,Flex工程是客户端应用程序,它使用Adobe Flex SDK进行开发。Flex提供了强大的数据绑定和组件库,使得开发者可以创建交互性强、用户...

    flex+hibernate+Spring

    - 利用Flex的RemoteObject或WebService组件来调用Spring服务,从而间接访问Hibernate的持久化功能。 3. **Spring与Hibernate的整合**: - 配置Hibernate的SessionFactory,在Spring应用上下文中声明一个bean。 -...

    Flex文件的上传下载.pdf

    ### Flex文件的上传下载知识点详解 #### 一、引言 在现代Web应用程序开发中,文件的上传与下载是一项常见的需求。随着Flex框架的发展,这一功能的实现也变得越来越便捷。Flex是一种开源的软件框架,它允许开发者...

    flex+as3 聊天及wsdl通信

    压缩包中的“ruby1688_HK.rar”和“THChatMachine.rar”可能包含示例项目的源代码,这些代码可以帮助理解Flex聊天应用的实现细节以及如何与WSDL服务进行通信。通过研究这些代码,可以深入学习如何将理论知识应用于...

    flex+hibernate+spring整合

    使用Flex的WebService或AMFChannel组件,可以方便地与Spring服务进行通信。 4. **数据交换**:Flex和Spring之间可以通过HTTP请求(如RESTful API)或者AMF(Action Message Format)进行数据交换。AMF提供了比JSON或...

    Flex实例 Flex基础 Web+Flex+LCDS Flex跟Java交互

    4. **Flex与Java交互**:Flex应用可以通过HTTPService、WebService、Remoting等方法与Java后台进行数据交互。AMF通道是Flex与Java集成的常用方式,因为AMF可以大大减少网络传输的数据量和提高性能。在Java端,可以...

    flex+java+lcds做的简单demo

    5. 在Flex应用中,通过HTTPService或WebService组件调用后端服务,获取或提交数据。 6. 实现数据绑定,将后端返回的数据动态显示在Flex界面中,可能涉及到ArrayCollection和DataGrid等数据展示组件。 7. 可能还包含...

    flex+net实战

    源码中可能会有WebService或WCF服务的实现,用于接收和响应Flex客户端的请求。 6. 实战应用示例: 在实际项目中,Flex可能用于创建动态图表、复杂表单或者富媒体交互,而.NET则负责数据处理、数据库操作和安全控制...

    flex+servlet简单实例

    4. **数据交换**:在Flex客户端与Servlet之间,可以通过Flex的HTTPService或WebService组件发起HTTP请求。这些组件可以发送XML或AMF数据,并接收来自Servlet的响应。 5. **Servlet处理逻辑**:Servlet接收到请求后...

    flex+java文件上传完整实例

    本示例“flex+java文件上传完整实例”提供了一个完善的解决方案,它结合了Adobe Flex前端技术和Java后端技术,实现了用户友好的文件上传功能。Flex是一种开源的RIA(富互联网应用)开发框架,而Java则提供了强大的...

    Flex WebService Demo

    Flex WebService Demo是一个示例项目,它展示了如何在Adobe Flex应用程序中使用Web服务进行数据交互。Flex是一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA),而Web服务则允许不同应用...

    Flex+Java多文件上传

    Flex支持异步通信,可以使用HTTPService或WebService组件来实现。 此外,为了保证上传的安全性,我们需要考虑以下几点: 1. 文件类型检查:限制用户只能上传特定类型的文件,防止恶意文件上传。 2. 文件大小限制:...

    Flex基于WebService的数据访问

    在Flex中,可以通过调用WebService来实现与远程服务器的数据交换,这在跨平台数据交互和分布式系统中非常常见。本篇文章将深入探讨Flex如何基于WebService进行数据访问。 一、Flex与WebService基础 WebService是一...

    (XF - 8)Flex + Spring

    标签 "源码" 和 "工具" 提示我们可能会涉及具体的代码示例和可能使用的工具,如Flex Builder或Flash Builder(IDEs for Flex development)以及Spring的工具,如Spring Tool Suite(STS)。 在提供的两个文件名 ...

    flex+java交互简单实用易懂

    4. HTTPService和WebService:除了AMF,Flex还可以通过HTTPService与Java Web服务进行通信。这适用于SOAP或RESTful服务,虽然效率稍低,但通用性更强。 5. Flex的事件驱动模型:Flex应用基于事件驱动,当与Java交互...

    flex+jsp web 应用开发源代码前十一章

    同时,会涉及HTTPService和WebService的使用,以及如何处理异步请求。 第5章:高级Flex组件 在这一章,你会接触到更复杂的Flex组件,比如DataGrid、Accordion和TabNavigator,以及如何自定义组件以满足特定需求。...

Global site tag (gtag.js) - Google Analytics